Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图

news2024/9/30 11:35:57

一.背景

由于最近客户定制需要将文件挂载类型修改为sdcardfs,由于修改了文件挂载类型,导致了骁龙相机拍照后不能点击进入相册,故对骁龙相机从点击事件开始进行问题的排查,此处不介绍最终的sdcardfs挂载后的问题解决方案,有兴趣可以参考jira单:SW2QCM6490-1233

二.流程介绍

拍照的流程大概分为几个阶段:打开相机进行预览、点击按钮进行拍照、生成缩略图、生成图片并保存、数据库保存生成uri、点击左下角进入相册,下面我们一步一步进行分析

三.打开相机

打开相机主要是进入预览的逻辑,这里不详细说明主要还是将点击拍照的主线,只说和拍照有关的逻辑,首先分析日志

根据日志可以看出调用了CaptureModule的setUpCameraOutputs()方法,setUpCameraOutputs()方法中存在ImageAvailableListener的onImageAvailable方法回调,此回调是可以获取到图像,具体

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运行软件提示丢失msvcr120.dll文件怎么办?msvcr120.dll丢失的5个最新解决方法

找不到msvcr120.dll是一个常见的错误信息,通常会在用户尝试运行某些程序或游戏时出现。msvcr120.dll是 Windows 操作系统中的一个动态链接库文件,它包含了 C 运行时库的一些函数和类,对于许多程序和游戏的正常运行至关重要。 当用户遇到找不到…

化妆品用乙基己基甘油全球市场总体规模2023-2029

乙基己基甘油又名辛氧基甘油,分子式 C11H24O3,分子量 204.306,沸点 325℃,密度 0.962,无色液体,涂抹性能适中的润肤剂、保湿剂及润湿剂。它能够在提高配方滋润效果的同时又具有柔滑的肤感。加入在某些膏霜体…

深度学习基础知识 nn.Sequential | nn.ModuleList | nn.ModuleDict

深度学习基础知识 nn.Sequential | nn.ModuleList | nn.ModuleDict 1、nn.Sequential 、 nn.ModuleList 、 nn.ModuleDict 类都继承自 Module 类。2、nn.Sequential、nn.ModuleList 和 nn.ModuleDict语法3、Sequential 、ModuleDict、 ModuleList 的区别…

一文熟练使用python修改Excel中的数据

使用python修改Excel中的内容 1.初级修改 1.1 openpyxl库的功能: openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,例如Xlwings。openpyxl是一个比较综合的工具,能…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Stack

堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。该组件从API Version 7开始支持。可以包含子组件。 一、接口 Stack(value?: { alignContent?: Alignment }) 从API version 9开始,该接口支持在ArkTS卡片中使用。 二、…

缓存雪崩、缓存穿透和缓存击穿产生的原因及解决方案

目录 什么是缓存雪崩? 缓存雪崩的解决方案 什么是缓存穿透? 缓存穿透的解决方案 什么是缓存击穿? 缓存击穿的解决方案 缓存在提高系统性能和响应速度方面起着关键作用,但在实际应用中,我们常常面临一些与缓存相…

关于打造安卓测试机的方法以及常见问题的解决方式

摘要: 本文主要讲解如何打造安卓测试机,并刷机google原生系统、部署Magisk对测试机进行root的常用方式;并对一些常见问题进行思路解答。本文适合新手学习,大佬请绕过 本次实验使用的设备及环境如下: Nexus 5x 测试机…

【多线程进阶】线程安全的集合类

文章目录 前言1. 多线程环境使用 ArrayList2. 多线程环境使用队列3. 多线程环境使用哈希表3.1 HashTable3.2 ConcurrentHashMap 总结 前言 本文主要讲解 Java 线程安全的集合类, 在之前学习过的集合类中, 只有 Vector, Stack, HashTable, 是线程安全的, 因为在他们的关键方法中…

高端品牌如何利用软文抓住顾客的心?

如今高端品市场价值巨大,但之前由于“口罩”影响和冲击,高端品牌的线上销售份额占比较少,同时得益于互联网和新媒体技术的发展,高端品的利润来源大多数是线上推广进行销售,而软文就是高端品常用的推广方式,…

鉴源论坛 · 观模丨基于软件性质的自动化测试技术

作者 | 熊一衡 华东师范大学软件工程学院博士 苏亭 华东师范大学软件工程学院教授 版块 | 鉴源论坛 观模 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 在软件开发的生命周期中,测试是至关重要的一环。为了确保软件产品的质量,开…

MOM与MES管理系统有哪些本质上的区别

随着企业业务的不断发展,许多制造企业开始面临车间管理失控、生产不透明等问题。这时候,很多企业选择上线MES生产管理系统来提高生产管理水平。然而,随着企业业务的不断拓展,MES系统也逐渐暴露出其局限性。于是,MOM平台…

详解CAN通信的标识符掩码和标识符列表两种过滤机制

CAN 通信的应用非常广泛,本文不涉及CAN通信的基础配置,重点分析一下STM32和GD32的CAN通信两种ID过滤方式。 首先,不管是STM32还是GD32,实现CAN通信ID过滤的机制和原理一定是一样的,只是用到的寄存器有差别。 1. ID过…

TensorFlow入门(十四、数据读取机制(1))

TensorFlow的数据读取方式 TensorFlow的数据读取方式共有三种,分别是: ①预加载数据(Preloaded data) 预加载数据的方式,其实就是静态图(Graph)的模式。即将数据直接内嵌到Graph中,再把Graph传入Session中运行。 示例代码如下: import tensorflow.compat.v1 as tf tf.disabl…

超好用的IDEA插件推荐!

大家好,Apipost 最新推出IDEA插件V2版本!V2版本主要是Apipost 符合更多用户的需求而推出,支持在插件中获取 token、支持代码完成后在插件中进行 API调试 ,同时也保留了1.0版本部分功能如上传选择目录功能等。 V1版本还会继续保留…

韦东山D1S板子——xfel工具无法烧写bin文件到spi norFlash问题解决

1、早期问题排查 (1)参考博客:《韦东山D1S板子——烧录spi norFlash失败问题排查过程》; (2)早期排查到xfel工具烧写spi norFlash显示成功,但是实际没有烧写进bin文件,怀疑是norFlas…

“揭秘淘宝店铺所有商品接口:一键获取海量热销宝贝信息!“

淘宝店铺所有商品接口可以通过shop id或店铺主链接获取到整店商品,数据包括:商品ID,图片地址,店铺标题,优惠价,价格,销量,宝贝链接等整个店铺的商品。 要使用这个接口,需…

Linux 系统性能瓶颈分析(超详细)

Author:rab 目录 前言一、性能指标1.1 进程1.1.1 进程定义1.1.2 进程状态1.1.3 进程优先级1.1.4 进程与程序间的关系1.1.5 进程与进程间的关系1.1.6 进程与线程的关系 1.2 内存1.2.1 物理内存与虚拟内存1.2.2 页高速缓存与页写回机制1.2.3 Swap Space 1.3 文件系统1…

9个最常用的人体姿态估计模型

“姿态估计?”……“姿态”一词对于不同的人来说可能有不同的含义,但我们不是在讨论阿诺德经典、奥林匹亚或选美表演。 那么,姿态估计到底是什么? 那么,让我们深入探讨这个话题。 推荐:用 NSDT编辑器 快速搭…

【git】git命令行

首先要了解git整个流程的一个分类: workspace:工作区staging area:暂存区/缓存区local repository:版本库或本地仓库remote repository:远程仓库 创建仓库 git clone gitgithub.comxxxxxxxxxxxx//拷贝一份远程仓库 …

笔记34:转置卷积 Transposed Convolution 的由来

注:该文章为视频课的笔记补充 视频课:转置卷积(transposed convolution)_哔哩哔哩_bilibili 更详细的推导在:抽丝剥茧,带你理解转置卷积(反卷积)_逆卷积-CSDN博客 a a a 补充1…