---【源码解析】
文章平均质量分 91
Achillisjack
这个作者很懒,什么都没留下…
展开
-
Binder 源码解析
主要论述了binder java层的相关流程以及原理,对相关的jni以及驱动层也有所涉及。原创 2016-10-21 20:00:39 · 2464 阅读 · 0 评论 -
SystemServer进程源码分析之一
1, 基本概念SystemServer是三大核心步骤中的最后一个,主要是各种服务的注册和启动。SystemServer进程由Zygote进程启动。zygoteInit的startSystemServer部分方法如下,String args[] = { // SystemServer服务进程的信息 "--setuid=1000", // uid原创 2017-02-21 22:32:57 · 578 阅读 · 0 评论 -
Zygote进程源码分析之一
Zygote是一个native进程,由init进程以服务的形式启动. zygote是整个系统创建新进程的核心装置。从字面上看,zygote是受精卵的意思,它的主要工作就是进行细胞分裂。zygote进程在内部会先启动Dalvik虚拟机,继而加载一些必要的系统资源和系统类,最后进入一种监听状态。在后续的运作中,当其他系统模块(比如AMS)希望创建新进程时,只需向zygote进程发出请求,zygote进原创 2017-02-21 22:16:36 · 442 阅读 · 0 评论 -
SystemServer进程源码分析之二
1, 基本概念SystemServer进程中启动了大量的系统服务,有的服务可以被第三方apk获取并进行跨进程调用,有的只能在SystemServer进程中使用(也成为本地服务)。2, 跨进程调用服务以BluetoothService服务为例说明被第三方apk获取并进行跨进程调用的原理。ServiceManager:管理所有服务,主要是注册和获取,并且单独运行在一个进程中,通原创 2017-02-21 22:39:20 · 421 阅读 · 0 评论 -
init进程源码分析
1, 概述Android系统启动流程图如下,1,Bootloader引导 当手机按下电源键时,最先运行的就是bootloader。主要作用是初始化基本的硬件环境(如CPU,内存,Flash等),为装载Linux内核准备合适的运行环境。一旦Linux内核装载完毕,bootloader将会从内存中清除掉。 Fastboot 是android设计的一套通过USB更新手机分原创 2017-02-21 21:57:28 · 1950 阅读 · 0 评论 -
android 反射机制
1, 概述简单来说, JAVA反射机制是指在运行态可直接操作任意类或对象的所有属性和方法的功能。Java程序可以加载一个运行时才得知名称的class,获悉其完整构造,并生成其对象实体、或对其成员变量赋值、或调用其方法。这种“看透class”的能力称为反射.简单使用:在运行时获取任意对象所属的类 Class clazz = Class.forName(String class原创 2017-04-15 21:21:56 · 644 阅读 · 0 评论 -
RemoteCallbackList 机制分析
前言:RemoteCallbackList主要用于aidl的跨进程通信,并且主要是服务端回调客户端的方法。回调的aidl文件如下,package com.•••;interface ICallback { void onGetservice(String info);}主要分为2步,private final RemoteCallbackList mRemote原创 2017-08-02 18:44:50 · 9398 阅读 · 0 评论 -
handler消息机制源码解析
1, 基本概念Handler主要做什么?机制是怎样的?有其他相同或者类似的机制吗?我们知道,Binder主要用于跨进程通信,Handler呢?主要用于进程内部进行通信,或者说进程内部不同线程之间进行通信,即是不同线程之间互相发送消息。 额外知识:libcore/libart/src/main/java/java/lang/Thread.javalibcore/luni/sr原创 2016-09-14 21:48:53 · 2101 阅读 · 0 评论 -
JNI机制源码解析
1, 基本概念1,JNI 是什么?2,JNI 有和作用?3,JNI 为什么存在?JNI(Java Native Interface): java 本地接口。Natvie 一般指 C/C++。可以这么说,JNI是 java 和 C/C++ 之间的桥梁,通过JNI技术, java 和 C/C++ 可以互相调用。 首先,Java是平台无关的,但是承载java的虚拟机是用C/C原创 2016-09-20 20:46:22 · 5381 阅读 · 0 评论 -
Android 进程启动源码解析
分析了进程启动的流程,以及四大组件启动的过程。原创 2016-10-21 20:32:00 · 711 阅读 · 0 评论 -
Zygote进程源码分析之二
3, Java层Zygoteinit的main方法如下,public static void main(String argv[]) { try { RuntimeInit.enableDdms(); // Start profiling the zygote initialization. Sampl原创 2017-02-21 22:24:39 · 437 阅读 · 0 评论