原创 Linux 火焰圖(on-cpu , off-cpu , memory)

在前一篇文章,我們簡單提到了 perf,實際 perf 能做的事情遠遠不止這麼少,這裏就要好好介紹一下,我們在 TiKV 性能調優上面用的最多的工具 - 火焰圖。 火焰圖,也就是 FlameGraph,是超級大牛 Brendan

原创 Android 9.0 HIDL接口添加

文章目錄一、 接口描述文件創建1.1 創建HIDL目錄1.2 創建接口描述文件sample.hal,1.3 生成HAL 相關文件二 、更新Makefile三 、 service.cpp相關3.1 service.cpp創建3.2

原创 一個apk調用另一個apk的某個activity

功能:Caller.apk調用Callee.apk中的CalleeMainActivity和CalleeLowerActivity。 定義: Caller.apk:去調用的apk, 包名爲com.caller Callee.apk

原创 大碰撞!當Linux多線程遭遇Linux多進程

作者簡介: 廖威雄,目前就職於珠海全志科技股份有限公司從事linux嵌入式系統(Tina Linux)的開發,主要負責文件系統和存儲的開發和維護,兼顧linux測試系統的設計和持續集成的維護。 拆書幫珠海百島分舵的組織

原创 Camera 初始化(Open)二(HAL3中Open過程)

承接上文Camera在connect後會調度到Camera3Device->initialize函數 ,如下: initialize: status_t res = manager->openSession(mId.string

原创 Android P版本怎麼簡單的驗證HIDL的Demo例程

1. 首先編寫接口文件IJon.hal # mkdir -p hardware/interfaces/jon/1.0 package [email protected]; interface IJon{ hel

原创 Simpleperf介紹

什麼是simpleperf Simpleperf是Android平臺的一個本地層性能分析工具。它的命令行界面支持與linux-tools perf大致相同的選項,但是它還支持許多Android特有的改進。 Simpleperf是A

原创 Android性能專項測試之Systrace工具

Systrace Walkthrough Systrace Analyzing UI Performance with Systrace Speed up your app Systrace能做什麼? 計算容器的性能 發現

原创 Camera 初始化(Open)一(FrameWork -> Hal)

隨着Android系統的不斷升級,Camera子系統框架也在不斷進化 由最初的API1和HAL1到現在的API2和HAL3,由最初簡單的拍照,錄製到現在的連拍,AI人像;可以說是架構上變動最大最頻繁的子系統。 很多設備仍然依賴相機

原创 Android P/Q 怎麼抓取火焰圖

1. 獲取simpleperf的可執行文件 android\system\extras\simpleperf\scripts\bin\android 根據你的設備選擇對應的32位或者64位的可執行文件 2. 推送可執行文件到目

原创 宋寶華: 用off-cpu火焰圖進行Linux性能分析

在《宋寶華:火焰圖:全局視野的Linux性能剖析》一文中,我們主要看了on-cpu火焰圖,理解了系統的CPU的走向的分析。但是,很多時候,單純地看on-cpu的情況(什麼代碼在耗費CPU),並不能解決性能問題,因爲有時候性能差的原

原创 宋寶華: 一圖理解終端、會話、 進程組、進程關係

藥不能停,直接進入正題,本文3分鐘讀完。文中涉及到的縮寫如下: PID: 進程(process) ID PPID:父進程(parent process) ID PGID:進程組(process group) ID SID:會話(

原创 Camera persist使用手冊之log使用技巧

查看當前使能了哪些級別的log,可以使用參考命令: adb shell getprop | grep "camera" 下面是開啓各個模塊log級別的簡單描述。 1. persist.camera.global.debug 數值:

原创 Camera ISP流程概述

原文鏈接:https://blog.csdn.net/ZHI11235813/article/details/78801528 可以參考網上的PPT(個人覺得比較好) https://w

原创 Camera 初始化(Preview) 三(預覽Buffer的流程)

API1+HAL3 frameworks\av\services\camera\libcameraservice\api1\Camera2Client.cpp status_t Camera2Client::setPrevie