Chromium网页渲染调度器(Scheduler)实现分析

在采用线程化渲染方式渲染网页时,Chromium依赖一个调度器协调Main线程和Compositor线程的执行,同时也通过这个调度器决定它们什么时候该执行什么操作。调度器将Main线程和...

5年前 2478次阅读 阅读全文 »

Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现,这几篇文章分析...

5年前 3194次阅读 阅读全文 »

解开Android应用程序组件Activity的"singleTask"之谜

在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"singleTask"这种方式了,官方文档称以这种方式启动的Activity总是属于一个任务的根Activit...

5年前 2869次阅读 阅读全文 »

Android控件TextView的实现原理分析

5年前 6457次阅读 阅读全文 »

Chromium硬件加速渲染的OpenGL上下文调度过程分析

Chromium的每一个WebGL端、Render端和Browser端实例在GPU进程中都有一个OpenGL上下文。这些OpenGL上下文运行在相同线程中,因此同一时刻只有一个OpenGL上下文处于运行状态...

5年前 2894次阅读 阅读全文 »

Android应用程序启动过程源代码分析

前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动...

5年前 7645次阅读 阅读全文 »

Chromium网页渲染机制简要介绍和学习计划

5年前 2519次阅读 阅读全文 »

Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

5年前 8683次阅读 阅读全文 »

Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析

在前文中,我们简要介绍了Android应用程序窗口的框架。Android应用程序窗口在运行的过程中,需要访问一些特定的资源或者类。这些特定的资源或者类构成了Android应用程序的...

5年前 3072次阅读 阅读全文 »

Chromium网页加载过程简要介绍和学习计划

5年前 2154次阅读 阅读全文 »

Chromium硬件加速渲染的OpenGL上下文创建过程分析

在Chromium中,WebGL端、Render端和Browser端的GPU命令都是通过GPU进程中的一个GPU线程来执行的。这三端的GPU命令是独立执行的,不能相互发生影响。为了达到这个目的,GPU...

5年前 2697次阅读 阅读全文 »

Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析

5年前 9263次阅读 阅读全文 »

ART运行时Mark-Compact( MC)GC执行过程分析

除了Semi-Space(SS)GC和Generational Semi-Space(GSS)GC,ART运行时还引入了第三种Compacting GC:Mark-Compact(MC)GC。这三种GC虽然都是Compacting GC,不过它们的...

5年前 4102次阅读 阅读全文 »

Android窗口管理服务WindowManagerService的简要介绍和学习计划

在前一个系列文章中,我们从个体的角度来分析了Android应用程序窗口的实现框架。事实上,如果我们从整体的角度来看,Android应用程序窗口的实现要更复杂,因为它们的类型和...

5年前 8000次阅读 阅读全文 »

ART运行时Compacting GC堆创建过程分析

5年前 8210次阅读 阅读全文 »

Dalvik虚拟机JNI方法的注册过程分析

在前面一文中,我们分析了Dalvik虚拟机的运行过程。从中可以知道,Dalvik虚拟机在调用一个成员函数的时候,如果发现该成员函数是一个JNI方法,那么就会直接跳到它的地址去...

5年前 7049次阅读 阅读全文 »

Android应用程序组件Content Provider的共享数据更新通知机制分析

在Android系统中,应用程序组件Content Provider为不同的应用程序实现数据共享提供了基础设施,它主要通过Binder进程间通信机制和匿名共享内存机制来实现的。关于数据共享...

5年前 8383次阅读 阅读全文 »

Dalvik虚拟机Java堆创建过程分析

5年前 7368次阅读 阅读全文 »

ART运行时Java堆创建过程分析

5年前 7303次阅读 阅读全文 »

Android日志系统Logcat源代码简要分析

在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层、系统运行库层和应用程序框架...

5年前 3902次阅读 阅读全文 »

Chromium扩展(Extension)通信机制分析

Chromium的Extension由Page和Content Script组成。如果将Extension看作是一个App,那么Page和Content Script就是Extension的Module。既然是Module,就避免不了需要相互通信...

5年前 2328次阅读 阅读全文 »

Android应用程序UI硬件加速渲染的预加载资源地图集服务(Asset Atlas Service)分析

5年前 5348次阅读 阅读全文 »

在Ubuntu上为Android系统编写Linux内核驱动程序

5年前 2203次阅读 阅读全文 »

Dalvik虚拟机进程和线程的创建过程分析

5年前 5707次阅读 阅读全文 »

Android应用程序内部启动Activity过程(startActivity)的源代码分析

5年前 8298次阅读 阅读全文 »

Dalvik虚拟机垃圾收集(GC)过程分析

5年前 7358次阅读 阅读全文 »

Android应用程序资源的查找过程分析

5年前 4813次阅读 阅读全文 »

Chromium扩展(Extension)加载过程分析

5年前 2347次阅读 阅读全文 »

《Android系统源代码情景分析》一书勘误

5年前 3754次阅读 阅读全文 »

Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划

5年前 7889次阅读 阅读全文 »