- 博客(12)
- 资源 (23)
- 收藏
- 关注
原创 Android N 指纹框架
1. 指纹框架UML2. Fingerprint2.1 Fingerprint数据流图FingerprintManager API. 直接与应用程序交互的API,属于当前APP进程.每个应用程序都可以获取FingerprintManager.FingerprintManager主要是应用程序与FingerprintService的交互封装Fingerprint...
2018-05-09 19:59:20 3537
原创 Android功耗分析
系统功耗跟踪功耗分析doze模式一直处于关闭状态doze模式开启状态功耗优化参考系统功耗跟踪使用方法,搜集日志adb shell dumpsys batterystats --reset// 运行...adb bugreport bugreport.zip导入Battery Historian分析 采集时间从前一天晚上十点到当天...
2018-05-10 13:44:06 5510 1
原创 ida调试方法与快捷键
ida调试:1:先将android_server push到手机 ,如果手机没有root,需要root才能在android studio中看到进程,可以用工具./setprops ro.debuggable 1修改为debug 2:打开调试应用并等待attach: adb shell am start -D -N com.asobimo.aurcusonline.ww/com.asobim...
2018-05-10 11:51:09 5739
原创 Android Camer框架
Camera框架Camera拍照流程拍照采用ImageReader来作为中介保存图片例子参考android-Camera2Basic 首先是创建ImageReaderstatic void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz, j...
2018-05-10 09:39:32 547 4
原创 Android Binder理解
在之所以需要进程通讯,内核空间的地址空间是所有进程共享的,但是用户空间使用的是虚拟地址空间(都有4GB空间),不能共享,因此需要类似于binder这样的驱动,让数据在内核中逛一圈Binder框架定义了四个角色:Server,Client,ServiceManager(以后简称SMgr)以及Binder驱动。其中Server,Client,SMgr运行于用户空间,驱动运行于内核空间。这四个角色的...
2018-05-09 20:05:56 275
原创 Android图像实例SampleWindow
# 简单的window显示 这个例子是一个简单的window显示,仅仅是将一个window加入了WMS并显示,由于没有AMS参与管理栈(实际上根本没有用AMS),因此在切换的时候这个简单的window不会消失 - 这个例子中简单明了的展示出了以下几处重要的操作: - window的add:添加WindowState - window的relayout: windiow的大小...
2018-05-09 20:04:48 492
原创 ActivityManagerService流程
Activity启动流程目的:理清activity的生命周期管理与AMS之间的关系一、理清activity的生命周期管理与AMS之间的关系1、Launcher通知AMS启动某个activity:Launcher中:应用程序中开启一个activity通过startActivitySafely()—->startActivity(),如果是程序内部启动那么直接...
2018-05-09 20:03:53 376
原创 InputManagerService
Input框架每增加一个WindowState.java,WMS都会通过registerInputChannel向InputDispatcher注册一个connection,这个connection用于后续event查找当前的触摸位置属于哪一个windowevent 主要通过两种途径返回到framework1、key发往PhoneWindowManager一路通过In...
2018-05-09 20:03:18 554
原创 lowmemorykiller内核回收机制注册、回调
LMK分为三个进程 - AMS 中设置lmk的6个内存阈值,以及更新每个进程/线程的adj值applyOomAdjLocked - lmkd是个单独的进程,socket监听,AMS发来的请求,更新内核的参数 - lowmemorykiller在内核中注册shrinker,利用内核的内存回收机制,根据lmkd中设置的参数执行lmk,先杀6个阈值中最大的(当内存低于80640个page时(3...
2018-05-09 20:02:31 363
原创 Android Native Framework gdb调试工具
脚本使用方法gdb_native.sh 228 adb1gdb_native.sh 228 其中228代表要调试进程的pid,必须指定;adb1 指定你想使用的adb工具,也可以不指定adb。#!/bin/bash PROJECT_ROOT=$(dirname $_) #set -x BIN_BIT=64 # BIN_BIT=64 when bin is 64...
2018-05-09 20:01:51 405
原创 PackageManagerService流程
PMS安装应用程序流程一、启动时安装1、查看PMS的功能与启动过程,首先PMS是在systemserver中启动的。之后分为两大部分启动1)恢复之前的引用安装信息:在main中new,开始调用readLP()恢复上一次引用程序安装信息(读取/data/system/packages.xml文件)—-> ScanDirLP()扫描指定目录—->readPackage...
2018-05-09 20:01:10 410
原创 Android Graphics Framework
Android系统图形框架Android系统图形框架由下往上主要的包括HAL(HWComposer和Gralloc两个moudle),SurfaceFlinger(BufferQueue的消费者),WindowManagerService(窗口管理者),View(BufferQueue的生产者)四大模块。 - HAL: 包括HWComposer和Gralloc两个moudle,Android...
2018-05-09 19:58:09 1226
TCP网络调试助手
2014-07-19
VESA and Industry Standards and Guidelines for Computer Display Monitor Timing
2014-06-12
color space 颜色空间
2014-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人