首页 > 其他分享 >Camera 冷启动阶段分解

Camera 冷启动阶段分解

时间:2024-07-18 23:18:04浏览次数:14  
标签:Camera APP 耗时 分解 adb 冷启动 java App

目录

一、Camx trace 调试开关设置

1.设置 camxoverridesettings trace开关

    adb  root
    adb  remount
    adb  shell "echo traceGroupsEnable=0x10080 >> /vendor/etc/camera/camxoverridesettings.txt"
    adb  shell "echo traceErrorEnable=TRUE     >> /vendor/etc/camera/camxoverridesettings.txt"
    adb  shell "echo traceOutputEnable=0x10080 >> /vendor/etc/camera/camxoverridesettings.txt"
    adb reboot

2. 重启后设置开启camx trace 开关

因为 camxoverridesettings 只有重启之后可以生效,所以重启完成后需要开启trace 开关,既可以开始抓取Camera的 Systrace。

 adb shell "echo 1 > d/tracing/events/camera/enable"

二、Camera 冷启动阶段分解分析

1. 从 TouchUp 到 ActivityStart 耗时

从Touch UP 到 ActivityStart 阶段,系统创建App进程耗时:

image

  • 1.PostFork 耗时需要排查 Zygote.java 代码

Zygote.java frameworks\base\core\java\com\android\internal\os

    1. ZygoteInit 耗时需要排查ZygoteInit.java 代码

ZygoteInit.java frameworks\base\core\java\com\android\internal\os

  • 3.ActivityThreadMain耗时需要排查ActivityThread.java代码

ActivityThread.java frameworks\base\core\java\android\app

    1. bindApplication 耗时需要排查ActivityThread.java代码,同上

2. 从 ActivityStart 到 App 层 OpenCamera 耗时

1. App 开始执行 MainActivity 一系列 onCreate,onStart,onResume,openCamera等操作

image

2.Framework层 cameraserver 开始响应App getCameraCharacteristics 、connectDevice 等操作。

image

    1. activityStart 耗时需要排查 LaunchActivityItem.java 代码

LaunchActivityItem.java frameworks\base\core\java\android\app\servertransaction

    1. ResumeActivityItem耗时需要排查 ResumeActivityItem.java 代码

ResumeActivityItem.java frameworks\base\core\java\android\app\servertransaction

    1. Choreographer#doFrame 耗时需要排查 Choreographer.java 代码

Choreographer.java frameworks\base\core\java\android\view

3.HAL 层 OpenCamera耗时

HAL 层开始响应 APP OpenCamera的操作,并返回 open状态 给APP。
image

camera_module->open 耗时需要排查hal 层 CameraModule.cpp open 方法中的耗时

CameraModule.cpp hardware\interface\camera\common\1.0\default

4.APP 层 OpenCameraDone 到ConfigureStreams

image

5.HAL 层 ConfigureStreams 耗时

image

6. APP 层 ConfigureStreams Done 到 SetRepeatingRequests

image

7.SetRepeatingRequests 到 第一帧HAL3ProcessCaptureResult

image

8.HAL3ProcessCaptureResult 到第一帧Preview

image

9.Camera APP冷启动总耗时

image

标签:Camera,APP,耗时,分解,adb,冷启动,java,App
From: https://www.cnblogs.com/linhaostudy/p/18310592

相关文章

  • 【CEEMDAN-VMD-Transformer-LSTM】双重分解+Transformer-LSTM多变量时序预测
    双重分解+Transformer-LSTM是一种用于多变量时序预测的方法,结合了双重分解(CEEMDAN-VMD)、Transformer和LSTM模型。这种方法可以用于分析和预测具有多个变量的时间序列数据。下面是一个更详细的步骤,演示如何使用双重分解+Transformer-LSTM进行多变量时序预测:数据准备:收集多......
  • Android 14.0 Camera2 静音时拍照去掉快门声音
    1.概述在14.0系统rom定制化开发时,在Camera2静音情况下有快门拍照声音,这就不符合使用规范了静音的情况下拍照也不应该发出声音,所以在静音拍照流程中要求去掉快门声音,接下来具体实现相关的功能2.Camera2静音拍照去掉快门声音核心代码/packages/apps/Camera2/src/co......
  • CEEMDAN-VMD-CNN-LSTM二次分解结合卷积双向长短期记忆神经网络多变量时序预测(Matlab完
    CEEMDAN-VMD-CNN-LSTM二次分解结合卷积长短期记忆神经网络多变量时序预测(Matlab完整源码和数据)CEEMDAN分解,计算样本熵,根据样本熵进行kmeans聚类,调用VMD对高频分量Co-IMF1二次分解,VMD分解的高频分量与Co_IMF2;Co_IMF3分量作为卷积长短期记忆神经网络模型的目标输出分别预测......
  • CEEMDAN-VMD-CNN-GRU二次分解结合卷积门控循环单元多变量时序预测(Matlab完整源码和数
    CEEMDAN-VMD-CNN-GRU二次分解结合卷积门控循环单元多变量时序预测(Matlab完整源码和数据)CEEMDAN分解,计算样本熵,根据样本熵进行kmeans聚类,调用VMD对高频分量Co-IMF1二次分解,VMD分解的高频分量与Co_IMF2;Co_IMF3分量作为卷积门控循环单元网络模型的目标输出分别预测后相加。......
  • 奇异值分解以及matlab实现
    奇异值分解(SingularValueDecomposition)是线性代数中一种重要的矩阵分解,具有压缩矩阵信息的作用目录一、奇异值分解的理论介绍1.奇异值分解的例子2.U的计算3.V的计算4.Σ的计算5.利用SVD对数据进行"降维"(1)对U与V进行分块,得到分块矩阵(2)去除奇异值后得到压缩后的矩阵(3)保留原矩阵的......
  • 高创新 | CEEMDAN-VMD-GRU-Attention双重分解+门控循环单元+注意力机制多元时间序列预
    目录效果一览基本介绍模型设计程序设计参考资料效果一览基本介绍高创新|CEEMDAN-VMD-GRU-Attention双重分解+门控循环单元+注意力机制多元时间序列预测本文提出一种基于CEEMDAN的二次分解方法,通过样本熵重构CEEMDAN分解后的序列,复杂序列通过VMD分解......
  • 牛客周赛 Round 50 D[小红的因式分解] 超级无敌大暴力
    牛客周赛Round50D小红的因式分解超级无敌大暴力首先拿到这个题,真的是一头雾水,本蒟蒻今天才想出来。。。首先拆开式子,我们可以得到a1a2==a;a1b2+a2b1==b;b1b2==c;那么,我们只需要求解一对a1与b1即可得到本题答案,因为剩下的一对a2b2由a/a1和b/b1得到所以我们可以运用......
  • 时间序列分析专题——时间序列分解
    接下来的几章我们会介绍时间序列分析模型,本章我们先来对时间序列概念进行介绍,并进行最初步的时间序列分解时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来目录一、基础名词解释1.时间序列数据2.时间序列的要素与类别(1)时间要素(2)数值要素(3)时期序列与时点序列二......
  • 阿基米德算法优化变分模态分解AOA-VMD数字信号去噪(优化K值 alpha值 )【含Matlab源码 48
    ......
  • 【鸿蒙性能优化】基于Camera Kit,获取相机流数据传递给native,进行压缩编码
    示例场景:ATS侧启动相机,使用摄像头采集视频流数据,获取相机视频流数据传递到native侧,通过buffer模式将视频编码成MP4文件保存到沙箱路径。方案描述:具体实现步骤可分为:Step1:申请权限,启动相机。Step2:启动录制,获取视频流数据,获取一帧图像转成JPG格式保存到沙箱路径。Step3:......