白话Android底层
文章平均质量分 93
江湖人称小白哥
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事
展开
-
深入分析LayoutInflater
LayoutInflater被用于加载xml布局文件,在开发中我们经常用它来动态加载xml布局文件。今天我们用一种的简单的方式来理解该过程.原创 2016-02-13 03:45:28 · 1017 阅读 · 0 评论 -
Android 7.0应用冷启动流程分析
最近在为自己一部Moto G定制Rom,顺便重新读了一遍Android 7.0的相关源码,特此记录当做笔记.在开始正文之前,首先要明白冷启动和热启动.原创 2017-03-05 13:06:44 · 11284 阅读 · 2 评论 -
Android 7.0系统启动流程分析
简单的分析Android 7.0系统启动流程原创 2017-02-27 00:31:06 · 12419 阅读 · 1 评论 -
深入分析AIL语言及init.rc文件
init.rc简介init.rc文件由系统第一个启动的init程序进行解析.它由”Android Init Language”语言编写而成.init.rc文件可以在你android设备根目录下找到.还记得我们上次编译的Android源码么?如果你已经编译过源码了,那么可以在out/target/generic/root/目录下找到该文件.要想读懂init.rc文件,首先要掌握AIL语言原创 2016-07-21 01:22:02 · 6399 阅读 · 0 评论 -
自己动手调试Android源码
在自己动手编译Android最新源码一文中,我们为自己编译了一份最新的Android源码.很多时候,我们编译源码的目的不仅仅是尝试一番,而是希望对其进行调试,并修改源码,看看其中一些关键机制的运行原理.比如你对AMS掌握不深,那么就来单独的调试一下;又或者是说你想看看launcher的实现原理,同样也可以自己动手调试.原创 2016-07-04 00:02:00 · 17093 阅读 · 13 评论 -
从inotify机制说到FileObserver实现原理
有些情况下,我们难免需要监控一些文件的变化情况,这该如何实现呢?自然而然的我们会想要利用一个线程,每个一段时间便去看看文件的情况,这种方式本质上就是基于时间调度的轮训.虽然能够实现我们的需求,但是这种方式只适合文件经常变化的情况,其他情况下都非常低效,并且可能丢掉某些类型的变化,也就是说,这种方式无法实现实时的文件监控.原创 2016-07-14 03:01:02 · 5524 阅读 · 3 评论 -
深入分析PMS服务(一)
PMS服务即PackageManagerService,主要用来进行APK的管理任务.但是今天,我们并不直接分析PMS的源码,而是从一个工具类PackageParse说起.原创 2016-07-09 20:40:50 · 6749 阅读 · 0 评论 -
深入理解IntentService
和Service不同的是,IntentService内部已经实现绑定好一个工作线程,因此,在IntentService中可以直接执行耗时操作,这样就省下了我们要在Service中人为创建线程来处理耗时操作的时间,减轻了工作量。原创 2015-09-20 21:40:44 · 925 阅读 · 0 评论 -
自己动手编译最新Android源码及SDK(Ubuntu)
在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解).本文适用于以下以下编译途径: Ubuntu 16.04上编译Android 6.0.x 及以上版本.原创 2016-06-20 01:54:30 · 57118 阅读 · 40 评论