![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 86
sunbxonline
这个作者很懒,什么都没留下…
展开
-
Init研究报告
本文先说明init的大致流程,然后择重点说明其重要部分一.Init整体流程Init进程主函数main定义于system/core/init/init.c中,从该目录的Android.mk中我们知道该文件最终被编译为Init命令,也就是内核启动的第一个命令。它的进程号是1,用于系统的用户层初始化和启动各种服务进程。1)配置规则Init读取两个配置文件,/init.rc和/in原创 2013-12-19 09:03:34 · 553 阅读 · 0 评论 -
Surface研究报告
Surface研究报告这篇文章主要描述从 Surface的创建,即客户数据是如何通过 Surface进行显示的。一.从 Activity的创建说起1.进程的创建创建 Activity的过程,首先要从创建Activity所在的进程说起。在用户请求启动某个应用程序的时候,会调用 ActivityManagerService.startProcessLockedActivityMan原创 2014-03-02 21:24:06 · 1095 阅读 · 0 评论 -
SurfaceFlinger研究报告
SurfaceFlinger研究报告SurfaceFlinger研究报告 1一.综述与SurfaceFlinger的类结原创 2014-03-02 21:22:30 · 1437 阅读 · 0 评论 -
Android GDB调试
一.使用GDB调试native代码使用GDB调试native代码基本上需要分为两步走:1.启动gdbserver首先要确保emulator或者真机上存在gdbserver程序其次你需要指定一个端口,该端口即是adb监听的端口,也是emulator上gdbserver监听的端口,实际上adb就是把在这个端口上监听到的数据发送给gdbserver的,即执行如下的命令adb forw原创 2014-03-02 21:19:31 · 770 阅读 · 0 评论 -
RIL研究报告
一.整体架构综述ril用于实现打电话,发短信等通信业务功能,它主要通过AT命令与硬件模块交互实现功能。 这里一共涉及两个进程,一个是Phone process,一个是ril进程,Phone显然是上层进程,ril是负责与硬件打交道的进程。在ril中有四个线程,rild启动了一个主线程和一个eventLoop线程,主线程一直处于休眠状态,eventLoop线程在接收到Phone进原创 2014-03-02 21:18:58 · 806 阅读 · 0 评论 -
Activity研究报告
Activity与Surface这篇文章主要描述从Activity的创建,直到Surface显示的过程一.Activity的创建1.进程的创建创建Activity的过程,首先要从创建Activity所在的进程说起。在用户请求启动某个应用程序的时候,会调用ActivityManagerService.startProcessLockedActivityManagerService.star原创 2014-03-02 21:38:51 · 1057 阅读 · 0 评论 -
Binder驱动初探
Binder驱动初探一.Binder驱动涉及的基本数据结构1.binder_buffer对mmap分配的内存进行管理的基本节点struct binder_buffer { struct list_head entry; /* free and allocated entries by addesss */ struct rb_node rb_node原创 2014-03-02 21:15:22 · 925 阅读 · 0 评论 -
Binder研究报告
Binder作为Android系统进程间通信的机制是各种service能够提供服务的基础,本文从mediaserver入手,试分析Binder机制的实现一.综述Binder机制的功能有二:1.管理手机上的各种服务2.应用程序通过Binder使用service提供的服务为此,在手机启动过程中,需要注册各种服务到ServiceManager。之后,应用程序可以查询服务,并选择和某种原创 2014-03-02 21:13:55 · 611 阅读 · 0 评论 -
Zygote研究报告
一.Zygote的前世今生1.前世在init.rc中,zygote作为一个service被启动,其配置为:service zygote /system/bin/app_process --zygote /system/bin --zygote --start-system-server其中:app_process命令是frameworks/base/cmds/app_proce原创 2014-03-02 21:11:36 · 846 阅读 · 0 评论 -
SystemServer研究报告
一.SystemServer的启动SystemServer是由Zygote启动的进程,它运行java代码,在该进程中启动其他的Java层服务。SystemServer首先从SystemServer.main开始[java code]1.SystemServer.main----->System.loadLibrary("android_servers");-原创 2014-03-02 21:26:04 · 925 阅读 · 0 评论