老罗的Android之旅

爱生活,爱Android

排序:
默认
按更新时间
按访问量

《老罗的Android之旅》导读PPT

虽然好几个月没更新博客了,但是老罗一直有在准备可以分享的东西的。除了早前在微博分享Android4.2相关技术之外,这次还特意准备了13个PPT,总结之前所研究过的东西。内容从Android组件设计思想,到Android源码开发和调试环境搭建,再到Android专用驱动和应用程序架构等。可以作为《...

2013-10-23 01:02:56

阅读数:151150

评论数:174

那两年炼就的Android内功修养

经过两年的时间,终于完成对Android系统的研究了。Android是一个博大精深的系统,老罗不敢说自己精通了(事实上最讨厌的就是说自己精通神马神马的了,或者说企业说要招聘精通神马神马的人才),但是至少可以说打通了整个Android系统,从最上面的应用层,一直到最下面的Linux内核,炼就的是一种...

2013-06-04 23:16:07

阅读数:433149

评论数:390

2012年的Android之旅:梦想、学习、坚持、自信、淡定

前段时间参加了2012年度IT博客大赛,进了前十强,写了一篇获奖感言,不过还没正式在CSDN发表出来。眼看2012年就要结束了,刚好借这个机会将2012年度IT博客大十强获奖感言发表出来,也算是对2012年博客的一个总结,关键字是“梦想”、“学习”、“坚持”、“自信”、“淡定”。希望大家一如既往地...

2012-12-31 23:00:34

阅读数:82976

评论数:211

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

在大家的支持和鼓励下,《Android系统源代码情景分析》一书得以出版了,老罗在此首先谢过大家了。本书的内容来源于博客的文章,经过大半年的整理之后,形成了初稿。在正式出版之前,又经过了三次排版以及修订,最终得到终稿。然而,老罗深知,书中的内容并不尽完美,除了错误之外总还会有许多不尽人意的地方,因此...

2012-10-26 20:44:13

阅读数:71044

评论数:335

Android博客文章整理

经过一年的努力,整理了博客上所有的Android文章,一共划分为三大篇,十六个章节,820页,系统地分析了Android系统的源代码,从Linux内核层、HAL层、运行时库层到应用程序框架层。整理期间困难重重,多次想要放弃,但是看到在四个多月不更新文章的情况下,博客访问量仍节节攀升,从评论中感受到...

2012-03-29 18:31:13

阅读数:114875

评论数:208

《Android系统源代码情景分析》连载回忆录:灵感之源

上个月,在花了一年半时间之后,写了55篇文章,分析完成了Chromium在Android上的实现,以及Android基于Chromium实现的WebView。学到了很多东西,不过也挺累的,平均不到两个星期一篇文章。本来想休息一段时间后,再继续分析Chromium使用的JS引擎V8。不过某天晚上,躺...

2017-01-10 22:42:11

阅读数:69914

评论数:47

Android WebView硬件加速渲染网页UI的过程分析

Android WebView作为App UI的一部分,当App UI以硬件加速方式渲染时,它也是以硬件加速方式渲染的。Android WebView的UI来自于网页,是通过Chromium渲染的。Chromium渲染网页UI的机制与Android App渲染UI的机制是不一样的。不过,它们会一起...

2016-12-19 00:58:18

阅读数:59275

评论数:6

Android WebView执行GPU命令的过程分析

Android WebView使用的Chromium引擎,虽然没有自己的GPU进程或者线程,但是却可以执行GPU命令。原来,Android WebView会给它提供一个In-Process Command Buffer GL接口。通过这个接口,Chromium引擎就可以将GPU命令提交给App的R...

2016-12-12 01:05:00

阅读数:52312

评论数:6

Android WebView启动Chromium渲染引擎的过程分析

Android WebView加载了Chromium动态库之后,就可以启动Chromium渲染引擎了。Chromium渲染引擎由Browser、Render和GPU三端组成。其中,Browser端负责将网页UI合成在屏幕上,Render端负责加载网页的URL和渲染网页的UI,GPU端负责执行Bro...

2016-12-05 01:02:47

阅读数:61146

评论数:6

Android WebView加载Chromium动态库的过程分析

Chromium动态库的体积比较大,有27M左右,其中程序段和数据段分别占据25.65M和1.35M。如果按照通常方式加载Chromium动态库,那么当有N个正在运行的App使用WebView时,系统需要为Chromium动态库分配的内存为(25.65 + N x 1.35)M。这是非常可观的。为...

2016-11-28 01:00:19

阅读数:59258

评论数:24

Android WebView简要介绍和学习计划

我们通常会在App的UI中嵌入WebView,用来实现某些功能的动态更新。在4.4版本之前,Android WebView基于WebKit实现。不过,在4.4版本之后,Android WebView就换成基于Chromium的实现了。基于Chromium实现,使得WebView可以更快更流畅地显示...

2016-11-21 00:59:03

阅读数:61633

评论数:18

Chromium插件(Plugin)执行3D渲染的过程分析

Chromium为网页的<embed>标签创建了Plugin之后,Plugin就负责渲染<embed>标签的内容。Chromium为Plugin提供了OpenGL接口,使得Plugin可在网页上渲染3D内容。当然,我们也可通过WebGL接口在网页上渲染3D内容。不过,前者渲...

2016-11-14 01:00:15

阅读数:51210

评论数:4

Chromium插件(Plugin)实例(Instance)创建过程分析

Chromium在解析网页时,每遇到一个<embed>标签,就会创建一个Plugin Instance。一般来说,Plugin Instance是在Plugin进程中创建和运行的。一个Plugin Module对应一个Plugin进程,同时可以创建多个不同的Plugin Instanc...

2016-11-07 00:59:29

阅读数:48297

评论数:2

Chromium插件(Plugin)模块(Module)加载过程分析

在Chromium中,每一个Plugin都对应一个Module,称为Plugin Module。一个Plugin Module可创建多个Plugin Instance。每一个Plugin Instance对应于网页中的一个<embed>标签。在为<embed>标签创建Plu...

2016-10-31 00:59:29

阅读数:64310

评论数:3

Chromium插件(Plugin)机制简要介绍和学习计划

在Chromium中,除了可以使用Extension增强浏览器功能,还可以使用Plugin。两者最大区别是前者用JS开发,后者用C/C++开发。这意味着Plugin以Native Code运行,在性能上要优于Extension,适合执行计算密集型工作。不过,以Native Code运行,使得Plu...

2016-10-24 00:59:13

阅读数:53021

评论数:4

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

Chromium的Extension由Page和Content Script组成。如果将Extension看作是一个App,那么Page和Content Script就是Extension的Module。既然是Module,就避免不了需要相互通信。也正是由于相互通信,使得它们形成一个完整的App。...

2016-10-10 01:00:35

阅读数:53348

评论数:7

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

Chromium的Extension由Page和Content Script组成。Page有UI和JS,它们加载在自己的Extension Process中渲染和执行。Content Script只有JS,这些JS是注入在宿主网页中执行的。Content Script可以访问宿主网页的DOM Tr...

2016-09-26 01:00:57

阅读数:52576

评论数:10

Chromium扩展(Extension)的页面(Page)加载过程分析

Chromium的Extension Page其实就是网页,因此它们的加载过程与普通网页相同。常见的Extension Page有Background Page和Popup Page。其中,Background Page在浏览器窗口初始化完成后自动加载,之后运行在后台中。Popup Page在用户...

2016-09-19 01:00:29

阅读数:68277

评论数:7

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

Chromium在启动的时候,会根据当前用户的Profile创建一个Extension Service。Extension Service在创建过程中,会加载当前已经安装的所有Extension,并且将它们注册在一个Extension Registry中。以后通过这个Extension Regis...

2016-09-12 00:59:50

阅读数:53815

评论数:7

Chromium扩展(Extension)机制简要介绍和学习计划

Chromium提供了一种Extension机制,用来增强浏览器功能。我们可以将Extension看作是一种运行在Chromium中的应用。这种应用的开发语言是JavaScript,并且UI通过HTML描述。通过使用Chromium提供的API,Extension可以访问网络,修改浏览器行为,以及...

2016-09-05 00:58:34

阅读数:67112

评论数:7

提示
确定要删除当前文章?
取消 删除
关闭
关闭