Android开发系列
阿拉神农
Hi my name is 邓凡平,my English name is innost. Nice to meet you
展开
-
[深入理解Android卷一全文-第五章]深入理解常见类
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第5章 深入理解常见类本章主要内容· 分析RefBase、sp,wp和LightRefBase类。· 分析Native的Thread类和常用同步类。· 分析Java层的Handler、Looper,以及HandlerTh原创 2015-08-02 15:52:04 · 8423 阅读 · 3 评论 -
[深入理解Android卷一全文-第六章]深入理解Binder
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第6章 深入理解Binder本章主要内容· 以MediaServer为切入点,对Binder的工作机制进行分析。· 剖析ServiceManager的原理。 · 以MediaPlayerService为切入点对Clien原创 2015-08-02 16:00:28 · 20727 阅读 · 15 评论 -
[深入理解Android卷一全文-第九章]深入理解Vold和Rild
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第9章 深入理解Vold和Rild本章主要内容· 介绍Vold。· 介绍Rild。本章涉及的源代码文件名称及位置下面是本章分析的源码文件名及其位置。· Main.cppsystem/vold/Main.cpp· Ne原创 2015-08-02 16:48:42 · 8467 阅读 · 2 评论 -
[深入理解Android卷一全文-第十章]深入理解MediaScanner
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第10章 深入理解MediaScanner本章主要内容· 介绍多媒体系统中媒体文件扫描的工作原理。本章涉及的源代码文件名及位置下面是本章分析的源码文件名及其位置。· MediaProvider.javapackages/p原创 2015-08-02 16:53:59 · 6551 阅读 · 3 评论 -
[深入理解Android卷一全文-第四章]深入理解zygote
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第4章 深入理解Zygote本章主要内容· 深入分析zygote,并介绍system_server进程的初始化工作。本章涉及的源代码文件名及位置下面是我们本章分析的源码文件名及其位置。· App_main.cppfram原创 2015-08-02 15:39:28 · 12262 阅读 · 4 评论 -
《深入理解Android 卷III》第六章 深入理解控件(ViewRoot)系统
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第6章 深原创 2015-08-14 13:37:30 · 18496 阅读 · 3 评论 -
《深入理解Android 卷III》第八章深入理解Android壁纸
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第8章 深原创 2015-08-14 13:45:57 · 21472 阅读 · 2 评论 -
《深入理解Android 卷III》第五章 深入理解Android输入系统
第5章 深入理解Android输入系统(节选)本章主要内容:· 研究输入事件从设备节点开始到窗口处理函数的流程· 介绍原始输入事件的读取与加工的原理· 研究事件派发机制· 讨论事件在输入系统与窗口之间的传递与反馈的过程· 介绍焦点窗口的选择、ANR的产生以及以软件方式模拟用户操作的原理本章涉及的源代码文件名及位置:· SystemServer.javaframeworks\base\s原创 2015-08-14 13:28:25 · 21367 阅读 · 7 评论 -
《深入理解Android 卷III》第七章 深入理解SystemUI
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第7章 深原创 2015-08-14 13:43:26 · 26082 阅读 · 8 评论 -
[深入理解Android卷二 全文-第一章]开发环境部署
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第1章 开发环境部署本章主要内容:简单介绍本书内容的架构、编译环境的搭建以及如何利用Eclipse调试SystemServer进程。1.1 系统架构到目前为止,Android系统的最新版本是4.0.3。而就在本书即将完稿之时原创 2015-08-03 10:16:41 · 5482 阅读 · 0 评论 -
[深入理解Android卷二 全文-第四章]深入理解PackageManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第4章 深入理解PackageManagerService本章主要内容:详细分析PackageManagerService本章所涉及的源代码文件名及位置:· SystemServer.javaframeworks/base原创 2015-08-03 11:12:59 · 29311 阅读 · 6 评论 -
[深入理解Android卷二 全文-第七章]深入理解ContentProvider
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第7章 深入理解ContentProvider本章主要内容:· 深入分析ContentProvider的创建和启动,以及SQLite相关的知识点· 深入分析Cursor query和close函数的实现· 深入分析Co原创 2015-08-03 13:10:49 · 18291 阅读 · 2 评论 -
《深入理解Android 卷III》第四章 深入理解WindowManagerService
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第4章原创 2015-08-14 13:18:35 · 39271 阅读 · 11 评论 -
[深入理解Android卷二 全文-第五章]深入理解PowerManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容第5章 深入理解PowerManagerService本章主要内容:· 深入分析PowerManagerService· 深入分析BatteryService和BatteryStatsService本章所涉及的源代码文件名原创 2015-08-03 12:23:12 · 21745 阅读 · 0 评论 -
[深入理解Android卷二 全文-第三章]深入理解SystemServer
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第3章 深入理解SystemServer本章主要内容:· 分析SystemServer· 分析EntropyService、DropBoxManagerService、DiskStatsService· 分析Devic原创 2015-08-03 10:50:55 · 15184 阅读 · 3 评论 -
[深入理解Android卷二 全文-第六章]深入理解ActivityManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容第6章 深入理解ActivityManagerService本章主要内容:· 详细分析ActivityManagerService本章所涉及的源代码文件名及位置:· SystemServer.javaframeworks/b原创 2015-08-03 12:36:29 · 51176 阅读 · 19 评论 -
[深入理解Android卷二 全文-第八章]深入理解ContentService和AccountManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第8章 深入理解ContentService和AccountManagerService本章主要内容:· 介绍ContentService· 介绍AccountManagerService本章所涉及的源代码文件名及位置:原创 2015-08-03 13:21:22 · 16656 阅读 · 6 评论 -
《深入理解Android 卷III》推荐序
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块推荐序回顾原创 2015-08-05 10:24:13 · 24122 阅读 · 29 评论 -
《深入理解Android 卷III》第一章 开发环境部署
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块注意,此处原创 2015-08-06 15:20:22 · 15082 阅读 · 3 评论 -
《深入理解Android 卷III》第二章 深入理解Java Binder和MessageQueue
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块注意,此处原创 2015-08-06 15:46:07 · 18670 阅读 · 4 评论 -
深入理解Android之AOP
深入理解Android之AOP格式更加精美的PDF版请到:http://vdisk.weibo.com/s/z68f8l0xTgCLK 下载一、闲谈AOP大家都知道OOP,即ObjectOriented Programming,面向对象编程。而本文要介绍的是AOP。AOP是Aspect Oriented Programming的缩写,中译文为面向切向编程。OOP和AOP是什么关系呢?首先:l OO原创 2015-10-24 19:48:31 · 92403 阅读 · 39 评论 -
深入理解Android之Xposed详解
一、背景Xposed,大名鼎鼎得Xposed,是Android平台上最负盛名的一个框架。在这个框架下,我们可以加载很多插件App,这些插件App可以直接或间接操纵系统层面的东西,比如操纵一些本来只对系统厂商才open的功能(实际上是因为Android系统很多API是不公开的,而第三方APP又没有权限)。有了Xposed后,理论上我们的插件APP可以hook到系统任意一个Java进程(zygote,原创 2016-01-05 12:56:52 · 73862 阅读 · 16 评论 -
深入理解Android之Java虚拟机Dalvik
一、背景这个选题很大,但并不是一开始就有这么高大上的追求。最初之时,只是源于对Xposed的好奇。Xposed几乎是定制ROM的神器软件技术架构或者说方法了。它到底是怎么实现呢?我本意就是想搞明白Xposed的实现原理,但随着代码研究的深入,我发现如果不了解虚拟机的实现,而仅简单停留在Xposed的调用流程之上,那真是对Xposed最大的不敬了。另外,歪果仁为什么能写出Xposed?Android原创 2015-12-22 09:55:30 · 47376 阅读 · 25 评论 -
C++11学习
C++11学习本章目的:当Android用ART虚拟机替代Dalvik的时候,为了表示和Dalvik彻底划清界限的决心,Google连ART虚拟机的实现代码都切换到了C++11。C+11的标准规范于2011年2月正式落稿,而此前10余年间,C++正式标准一直是C++98/03[①]。相比C++98/03,C++11有了非常多的变化,甚至一度让笔者大呼不认识C++了[②]。不过,作为科技行业的从业者原创 2016-09-19 11:14:02 · 33407 阅读 · 30 评论 -
开源小工具-androidlogsuite
LogReport是一个用于图形化Android Log的工具集合,它可以:图形化Android中各种重要服务的运行信息,包括但不限于meminfo、power、diskstats等。这些信息均由dumpsys xxx服务而来。LogReport可以将这些信息图像化到一个html页面中。 在LogReport中,dumpsys属于静态adb命令LogReport还可以监控adb logcat -b xxx中的各种日志信息。只要设定特定的关键词和绘图模式,logreport可以实时监控adb logcat原创 2014-12-02 14:28:06 · 6955 阅读 · 7 评论 -
深入理解Android之Gradle
深入理解Android之Gradle格式更加精美的PDF版请到:https://pan.baidu.com/s/1GfN6F8sOaKFAdz5y1bn3VQ下载weibo分享失效,请各位到百度云盘下载 Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。一、题外话说实话,我在大法工作的时候,就见过Gradle...原创 2015-09-05 20:07:25 · 188919 阅读 · 187 评论 -
“深入理解”的目标是什么?
转发微信公众号《神农和朋友们的杂文集》的第一篇文章公众号二维码:神农和朋友们的杂文集公众号。主要想记录自己、朋友、朋友的朋友们的一些关于coding、programing、程序人生方面的思考。有一些技术,有一些调侃,有一些反思,有一些自勉。作为本公众号的开篇之文,我想回答下这几年来一直思考很久的问题。这个问题和我的经历有关。从2011年开始到2019年,我陆续完成了四本A...原创 2019-04-21 20:01:39 · 2815 阅读 · 5 评论 -
深入理解Android Java虚拟机ART相关及勘误
公众号:神农和朋友们的杂文集目录本书的简单介绍本书各章的难度评估深入学习有什么好处?本书勘误表P14P21本书的简单介绍《深入理解Android Java虚拟机ART》是一本以Android 7.0 ART JAVA虚拟机为目标的源码分析书籍。全书花费了将近3年时间,word原稿有1300多页,最终出版的书籍有900多页。定价看起来不便宜,16...原创 2019-04-15 09:28:36 · 7883 阅读 · 14 评论 -
Android ART JVM中和机器码编译有关的小知识
借华为方舟编译器掀起的讨论的热潮,我来说下和Android ART JVM和编译有关的小知识。或许你看懂下面这些小知识,就能从另外一个方面明白方舟编译器为什么那么让人好奇了。本文首发我的公众号:神农和朋友们的杂文集公众号。主要想记录自己、朋友、朋友的朋友们的一些关于coding、programing、程序人生方面的思考。有一些技术,有一些调侃,有一些反思,有一些自勉。我从...原创 2019-04-28 20:35:33 · 2940 阅读 · 0 评论 -
关于Android学习的三个终极问题
缘起读研的时候,有一次和同学一起上自习。我在学习,他也在学习。我想,大家每天都一起上课,记笔记,上自习,完成作业,智商也差不多,为何考试的时候有时候差距会很大呢?这个问题我直到今天也没有答案,这几天和朋友闲聊说到这个事情。他们有得说是智商有差距,有得说是学习的时候心不在焉——看着在学习,其实已神游大千世界。.....,不过,我自己从来没有下过类似的结论。我武断的猜测,这个问题应该是没有...原创 2019-05-06 17:05:33 · 10530 阅读 · 21 评论 -
一专多能、刻意练习和终身成长
目录缘起什么是“一专多能”什么是“刻意练习”终身成长最后最后的最后参考链接本篇接上一篇《关于学习的三个终极问题》(以后简称它为“三个问题”)缘起如果说“三个问题”还有什么大遗憾的话,那就是它并没有提出问题的解决办法,甚至没有探讨一条可行的道路。确实如此,2015年我反思了三个问题后,直到去年才幸运找到一条对我而言目前看起来至少是可行的道路。注...原创 2019-05-14 12:57:35 · 7392 阅读 · 17 评论 -
线程和IO模型的极简知识
缘起相信绝大部分开发者都知道“设计模式”(英文为Design Patterns)。设计模式很好,让我们在设计和开发软件模块的时候为实现“高内聚,低耦合”等目标提供了强有力的指导。不过,在我的体会中,设计模式还是更“静态”——它比较关注设计好类、接口、类之间的关系。值得指出的是,设计模式是需要有一定开发经历和经验的人才需要看的。以我自己为例,我是工作三年后才知道有设计模式得。看完GoF设...原创 2019-05-28 10:22:15 · 8418 阅读 · 16 评论 -
小而精之QuickJS JavaScript引擎及周边研究(I)
缘起研究ART JVM的时候,我一直有一个遗憾,总感觉对Java语言的理解不深刻,从而我个人觉得自己对JVM的理解还处于相对初级的阶段——只能顺着代码里的执行流程去看。这个水平的话,改点小bug或许没问题,但如果将来Java加了新的语言特性,能知道如何在JVM中实现吗?一句话,我在研究ART时深刻感受到了更多自己不懂的东西。显然,一门语言除了语言自己外还包括其它一些至关重要的知识——在这里...原创 2019-08-05 15:41:30 · 15658 阅读 · 3 评论