Android 6.0
Omni-Space
专注Android, Mobile Security and AI
展开
-
android6.0源码分析之Camera API2.0下的Capture流程分析
前面分析preview的时候,当预览成功后,会使能ShutterButton,即可以进行拍照,定位到ShutterButton的监听事件为onShutterButtonClick方法://CaptureModule.java@Overridepublic void onShutterButtonClick() { //Camera未打开 if (mCamera == nul转载 2016-09-17 04:32:15 · 566 阅读 · 0 评论 -
android6.0源码分析之Camera2 HAL分析
1、Camera HAL的初始化Camera HAL的初始加载是在Native的CameraService初始化流程中的,而CameraService初始化是在Main_mediaServer.cpp的main方法开始的://Main_mediaServer.cppint main(int argc __unused, char** argv){ … spProces转载 2016-09-17 02:53:47 · 2231 阅读 · 1 评论 -
Android6.0源码分析—— Zygote进程分析(补充)
原文地址: http://blog.csdn.net/a34140974/article/details/50915307此博文为《Android5.0源码分析—— Zygote进程分析》的补充我们已经知道Android 5.0已经默认了ART,今天本想回去查看一下这个部分,于是回到init进程中去寻找源码,发现6.0的Zygote部分也小有变动,因此更新一下。首先是i转载 2016-09-28 06:38:04 · 581 阅读 · 0 评论 -
Android6.0的SMS(短信)源码分析--短信接收
1 SMS接收流程Android6.0中对短信的处理比起老版本还是变化有点大的。在分析源代码之前,我们可以先猜测一下Android中接收短信的大致流程。首先根据之前分析phone应用的经验,猜测最先接收到短信消息的肯定是Modem,接着上报的RILJ,RILJ在通知到XXXTracker,之后也许会有个SmsManager的东西作统一管理,再之后就是App层。当然,这仅仅是猜测,到底是转载 2016-09-28 06:28:43 · 3641 阅读 · 1 评论 -
Android6.0的Looper源码分析(1)
1 Looper简介Android在Java标准线程模型的基础上,提供了消息驱动机制,用于多线程之间的通信。而其具体实现就是Looper。Android Looper的实现主要包括了3个概念:Message,MessageQueue,Handler,Looper。其中Message就是表示一个可执行的任务。消息创建完毕通过消息处理器Handler在任意线程中发送添加至Messag转载 2016-09-28 06:23:11 · 454 阅读 · 0 评论 -
Android 6.0 PowerManagerService状态分析
这篇博客我们主要分析下PowerManagerService的各个状态,主要从goToSleep,wakeUp,userActivity,nap函数作为入口分析。一、PowerManagerService的goToSleep函数我们先来看下goToSleep函数:goToSleep函数主要调用了goToSleepInternal函数:[cpp转载 2016-09-25 13:39:23 · 1149 阅读 · 0 评论 -
Android6.0 wakelock深入分析
这篇博客我们分析下Power的持锁,从PowerManager到PowerManagerService再到hal分析。一、PowerManager的持锁接口我们先来看下PowerManager对应用提供的接口:[cpp] view plain copy public WakeLock newWakeLock(int levelAndF转载 2016-09-21 13:22:09 · 1673 阅读 · 0 评论 -
android6.0源码分析之Activity启动过程
Activity最为Android开发者最熟悉的组件,由ActivityManagerService服务进行调度管理,而ActivityManagerService的启动过程在activitymanagerservice服务源码分析一文中进行了详细分析,本文基于其对Activity的启动过程进行分析,同时也将分析AMS对Activity的调度管理。1、 Activity的启动模式转载 2016-09-17 04:46:24 · 625 阅读 · 0 评论 -
android6.0源码分析之AMS服务源码分析
activitymanagerservice服务源码分析1、ActivityManagerService概述ActivityManagerService(以下简称AMS)作为Android中最核心的服务,主要负责系统的四大组件的启动、切换、调度以及应用进程的管理和调度等工作。它类似于操作系统中的进程管理和调度模块类似,所以要想掌握android,AMS至关重要。AMS属于s转载 2016-09-17 04:45:01 · 1375 阅读 · 0 评论 -
android6.0源码分析之Zygote进程分析
在android6.0源码分析之Runtime的初始化一文中,对Zygote进程的初期的Runtime初始化过程进行了分析,在Runtime启动结束后,会对Zygote进程进行初始化,其它Java进程都需要从Zygote进程来fork,而Zygote的初始化是从ZygoteInit的main函数开始的://ZygoteInit.javapublic static void main(Stri转载 2016-09-17 04:43:51 · 644 阅读 · 0 评论 -
android6.0源码分析之Runtime的初始化
Android运行时作为android架构的一部分,起着非常重要的作用,它和核心库(Core Libraries)组成了Android运行时库层。本文将依据android源码对AndroidRuntime(android运行时)的建立过程进行分析。1、Android架构中的AndroidRuntimeandroid采用的是层次化系统架构,它的架构图如下: 由架构图可知转载 2016-09-17 04:41:21 · 862 阅读 · 0 评论 -
android源码分析之JNI调用与回调
通过JNI,Java程序可以在加载本地库之后,调用Java类中声明的在本地库中实现的本地方法。此外,本地库中的函数也可以通过回调的方式调用Java类中的成员变量或者成员函数。 1、在Java中,本地库的加载以及本地方法的声明 public class Natvie{ //本地方法声明转载 2016-09-17 04:39:25 · 433 阅读 · 0 评论 -
android6.0源码分析之Camera2 HAL分析
1、Camera HAL的初始化Camera HAL的初始加载是在Native的CameraService初始化流程中的,而CameraService初始化是在Main_mediaServer.cpp的main方法开始的://Main_mediaServer.cppint main(int argc __unused, char** argv){ … spProces转载 2016-09-17 04:37:26 · 673 阅读 · 0 评论 -
android6.0源码分析之Camera API2.0简介
1、Camera API2.0的架构图Camera API2.0下的Camera架构与API1.0有所区别,下面将给出Camera API2.0以及Camera HAL3.2+下的Camera的总体架构图: 由图可知,Java层要想与C++层的CameraService层进行通信,都是通过Java层的IPC Binder进制进行的,主要包括ICameraService.aidl以转载 2016-09-17 02:52:00 · 847 阅读 · 0 评论 -
android6.0源码分析之Camera API2.0下的初始化流程分析
1、Camera2初始化的应用层流程分析Camera2的初始化流程与Camera1.0有所区别,本文将就Camera2的内置应用来分析Camera2.0的初始化过程。Camera2.0首先启动的是CameraActivity,而它继承自QuickActivity,在代码中你会发现没有重写OnCreate等生命周期方法,因为此处采用的是模板方法的设计模式,在QuickActivity中的on转载 2016-09-17 04:30:25 · 1116 阅读 · 0 评论 -
android6.0源码分析之Camera API2.0下的Preview(预览)流程分析
1、Camera2 preview的应用层流程分析preview流程都是从startPreview开始的,所以来看startPreview方法的代码://OneCameraImpl.java@Overridepublic void startPreview(Surface previewSurface, CaptureReadyCallback listener) { mP转载 2016-09-17 04:31:40 · 960 阅读 · 0 评论 -
Android6.0 keyguard锁屏加载流程分析
锁屏界面的加载通常在android中有两种方式触发:android系统开机和screenOff(灭屏)后,再screenOn;先来看android系统开机时候的锁屏加载流程:首先在系统启动过程中,会进入到SystemServer.java的startOtherServices()方法:初始化WindowManagerService;[ja转载 2017-11-16 00:43:53 · 865 阅读 · 0 评论