本来想一篇文章就把BpBinder、BBinder、IBinder和IInterface的关系弄清楚的,但是感觉脱离Binder实际的使用流程来看这几个类,总觉得抓不到重点,所以感觉也还是和前面的…
(原创)Android中的Service和Binder关系
因为C/C++层binder服务的使用过程和Java层的服务使用过程有所不同,所以这里分C/C++和Java两个层次看一下。 C/C++层 经过前面的文章,对一些Binde…
(原创)servicemanager分析
servicemanager是binder部分的关键组件之一,binder client要想获取service提供的服务,可以根据service的名字向servicemanager发出获取service的请求。而bind…
(原创)Linux中的Binder驱动
前言 Binder驱动是Android专用的,但是其在Linux底层中的框架和Linux驱动是一样的。Binder驱动是以Misc设备进行注册,binder驱动是一个虚拟的设备驱动,没有和任何的实…
(整理)用户空间_内核空间以及内存映射
内核空间和用户空间 现代操作系统采用虚拟存储器,对于32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也…
(原创)Android SystemServiceManager分析
1. SystemServiceManger启动 分析过SystemServer的朋友应该都有记忆,SystemServiceManager就是在SystemServer中启动的,下面是SystemServiceMana…
(原创)Android SystemServer分析
一.Zygote到SystemServer SystemServer是由Zygote fork生成的,进程名为system_server,这个进程包含里framework中的核心服务,在Zygot…
(原创)Android Zygote分析
1. app_process到zygote zygote本身是一个Native应用程序,和驱动、内核均无关系,zygote是由init进行根据init.rc文件中的配置进行创建的,具体的配置代码如下: 1.1 zygot…
(原创)Android智能指针
智能指针的目标 在使用指针的时候容易出现的问题不外乎下面几个。首先,指针在使用之前都必须初始化,这个还算容易解决,在创建指针变量的时候同步初始化就好了;第二个问题就是经常忘记delete,就我的经…