老罗的Android之旅

爱生活,爱Android

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

Chromium多线程模型设计和实现分析

Chromium除了远近闻名的多进程架构之外,它的多线程模型也相当引人注目的。Chromium的多进程架构是为了解决网页的稳定性问题,而多线程模型则是为了解决网页的卡顿问题。为了达到这个目的,Chromium的多线程模型是基于异步通信的。也就是说,一个线程请求另外一个线程执行一个任务的时候,不需要...

2015-07-27 00:59:08

阅读数:23729

评论数:19

Chromium网页Graphics Layer Tree创建过程分析

在前面一文中,我们分析了网页Render Layer Tree的创建过程。在创建Render Layer的同时,WebKit还会为其创建Graphics Layer。这些Graphics Layer形成一个Graphics Layer Tree。Graphics Layer可看作是一个图形缓冲区,...

2016-02-29 00:59:09

阅读数:11586

评论数:9

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

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

2017-01-10 22:42:11

阅读数:69841

评论数:47

Android学习启动篇

近年来,手机移动平台越来越火爆。打开自己的QQ算了一下,在线好友共有31个,其中用手机上的有13个,手机用户占了42%;打开新浪微博、天涯和猫扑等网站,各种终端设备的发贴、回贴更是数不胜数。目前,手机平台如日中天的要数是iOS和Android了,尤其是iOS,Symbian已没落,WP7在挣扎。i...

2011-06-21 00:32:00

阅读数:167173

评论数:133

如何单独编译Android源代码中的模块

第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make...

2011-06-24 22:07:00

阅读数:164046

评论数:113

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

在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随...

2011-06-26 12:10:00

阅读数:181444

评论数:197

在Ubuntu上下载、编译和安装Android最新源代码

看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢?一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装A...

2011-06-21 23:15:00

阅读数:266036

评论数:307

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内...

2011-06-23 22:53:00

阅读数:144068

评论数:142

Android硬件抽象层(HAL)概要介绍和学习计划

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核...

2011-06-25 13:03:00

阅读数:212646

评论数:53

在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序

在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/c...

2011-06-27 22:00:00

阅读数:97180

评论数:106

制作可独立分发的Android模拟器

如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看,应该怎么办呢?通常,我们开发Android应用程序的时候,都是使用模拟器来运行程序,要么是SDK环境下,要么是在源代码BUILD环境下使用。在SDK环境下,结合Eclipse和ADT,...

2011-07-05 22:57:44

阅读数:51536

评论数:32

浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个...

2011-07-22 02:32:57

阅读数:159578

评论数:109

浅谈Android系统开发中LOG的使用

在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。       ...

2011-07-03 16:47:19

阅读数:138866

评论数:24

介绍一款Android小游戏--交互式人机对战五子棋

学习Android系统开发之余,编写了一个小游戏--交互式人机对战五子棋,自娱自乐。之所以称之为交互式人机对战五子棋,一是因为在进入人机对战模式这前,你可以任意设置好开局,同时,在对战过程中,你可以看到机器的思考过程,还可以标识出每一个落子点的优劣势;二是因为可以为机器增加游戏经验,使得机器越来越...

2011-07-06 23:51:09

阅读数:46507

评论数:29

在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序

在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明...

2011-06-28 22:52:00

阅读数:119088

评论数:137

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务

在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行。今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件。因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的。硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写...

2011-06-30 23:10:00

阅读数:91105

评论数:91

在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口

在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口。实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务。我们知道,Androi...

2011-06-29 22:27:00

阅读数:118515

评论数:109

在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务

我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通...

2011-07-02 14:35:20

阅读数:87087

评论数:196

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

在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层、系统运行库层和应用程序框架层日志系统相关的源代码,其中,后一篇文章着重介绍了日志的写入操作。为了描述完整性,这篇文章着重介绍日志的读取操作...

2011-07-15 02:27:42

阅读数:76053

评论数:11

Android日志系统驱动程序Logger源代码分析

我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地...

2011-07-10 13:50:58

阅读数:63024

评论数:28

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