最近老朽又把罗升阳老师的《Android系统源代码情景分析》拿出来啃了一番。

为什么要加个“又”呢?因为从老罗的第一版开始到迄今为止尚未更新的第三版为止,每年有学习冲动的时候便默默地从电子书里把这本书翻出来。那既然老朽已经读了这么多遍,理论上应该对书中的内容了然于胸了啊,怎么能说“啃”呢?

因为啊,每次看完某个章节后再回顾知识点的时候,总感觉大脑被各种源码级调用搞得一团乱麻,等隔个半年再去看的时候,咦〜,这个点好像压根儿没看过嘛!所以老罗的这本书似乎有一个神奇的功效,那就是让很多人读了很多遍都觉得它是本新书。

别笑,同是菜鸟的你也应该和老朽一样曾被老罗折虐得体无完肤吧。

这里倒不是说老罗的书写得不好,而是它的门槛至少有三层楼那么高,这对还在地下室的下水道趴着的我们来说,无异于看天书。

当然,你要是像Andy Rubin等人一样早已高居十八层当老朽没说。

为什么说老罗的书门槛很高呢?从书名便略知一二,“系统源码情景分析”这几个字就说明了书中的内容相当于给源码作注,所以这本书压根儿就是《老罗带你看系统源码》,而对一个功力尚浅没有三五年开发经验和Linux底子的普通人来说,短时间内吃透系统源码是不现实的。就好像你慧根不够,即使把《金刚经》的梵文翻译成大白话文讲给你听你也同样看不懂一样,所以从理解难度来讲,《Android系统源代码情景分析》也只比自己READ THE FUCKING SOURCE CODE简单些。

所以对待老罗的情景分析,应该和对待源码的态度一样,那就是需要弄懂某个知识点的时候再去查,而不是跟着书中的步骤一步步地往下看,因为你很容易就陷入“一叶障目”的窘境,接着便在代码和各种不明就里的术语构成的汪洋里不能自拔,接着便想快速合上书或者无意识地想尽快把章节翻完,此时我相信你的大脑早已一遍空白,留下的只是对老罗的高山仰止。

下面结合自己的例子和大家分享下阅读情景分析正确姿势。比如准备看第13章“安卓应用程序消息处理机制”的时候,你应该去其他参考书比如《android开发艺术探索》和《深入理解android内核设计思想》了解个大概,知道整个机制涉及到哪些类,比如WMS、InputManager、InputReader、InputDispatcher、InputChannel以及native层的一些类,然后可以看看《android内核剖析》,这样你对整体的消息处理就有个系统的了解了。但是,如果你想深层次地了解,比如EventHub是如何监听键盘事件并唤醒InputDispatcher的话,这时候你就可以去看看老罗写的,相信你不会失望的。

当然了,如果你压根不知道消息机制是什么,可以从《第一行代码》看起。所以,从学习深入层次来讲,了解是第一层,熟悉的第二层,知其所以然才是第三层,如果你不想知其所以然,我觉得完全没有必要看老罗的书。反过来,如果想在以后的工作中以不变应万变的话,不看情景分析简直是暴殄天物。

需要注意的是,强烈建议大家不要和老朽一样买电子书(最近想趁当当满100减50买纸质书的时候竟然缺货),因为电子文档翻阅前面章节的时候严重不方便,遇到类似“我们在12.4.5里提到”这类词汇时真的很受伤。

最后还是想给三年以上的安卓开发者们一些建议,如果打算在安卓技术这块深入学习的话,系统源码这块是绕不开的,不管你是framework层开发还是应用层开发,也无论你是为了面试还是写出更高质量的代码,都应该下狠心把系统源码通读一遍,而对于很多像老朽一样非计算机科班出身的人来说,老罗的情景分析简直是雪中送炭,如果我们把书中的什么管道、内存映射以及epoll等与Linux内核等息息相关的概念在延伸吃透的话,相信你很快就能赶郭超罗。

老罗的《Android系统源代码情景分析》翻了10遍还看不懂?因为你用错了相关推荐

  1. 罗升阳 android系统源代码情景分析,Android系统源代码情景分析

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

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

    在大家的支持和鼓励下,<Android系统源代码情景分析>一书得以出版了,老罗在此首先谢过大家了.本书的内容来源于博客的文章,经过大半年的整理之后,形成了初稿.在正式出版之前,又经过了三次 ...

  3. Android系统源代码情景分析:基础知识

    老罗(罗升阳)发表在的InfoQ上的好文,最新在学习Android,转载一下,方便学习. 老罗的CSDN blog链接:http://blog.csdn.net/Luoshengyang/ 原文链接: ...

  4. Android系统源代码情景分析-0714学习

    目录 8.3开发Android硬件访问服务 硬件访问服务通过硬件抽象层模块来为应用程序提供硬件读写操作.硬件抽象层模块是用C++语言开发的,而应用程序框架层中的硬件访问服务是Java开发的,因此,硬件 ...

  5. 《Android系统源代码情景分析》一书正在连载中

    进击的程序员:http://0xcc0xcd.com,PC版和移动版同时进行,感谢大家支持!

  6. 【转载】专访罗升阳:老罗的Android之旅

    CSDN:你用两年的时间炼就了深厚的Android内功修养,请问期间的学习之路是怎样的?有什么学习的心得和体会可分享? 罗升阳:那两年基本是把所有的业余时间都花在了学习Android上,包括工作日的下 ...

  7. 老罗的Android系统分析(三横三纵)

    经过两年的时间,终于完成对 Android系统的研究了.Android是一个博大精深的系统,老罗不敢说自己精通了(事实上最讨厌的就是说自己精通神马神马的了,或者说企业说要招聘精通神马神马的人才),但是 ...

  8. 专访罗升阳:老罗的Android之旅(转载)

    本文转载地址:专访罗升阳:老罗的Android之旅 [编者按]我们常说的智能手机实际上就是手机上加了一个操作系统,那么大部分人都会跟我一样不禁发问,这个操作系统和我们接触更多的电脑上的操作系统一样吗. ...

  9. 《老罗的Android之旅》导读PPT

    虽然好几个月没更新博客了,但是老罗一直有在准备可以分享的东西的.除了早前在微博分享Android4.2相关技术之外,这次还特意准备了13个PPT,总结之前所研究过的东西.内容从Android组件设计思 ...

最新文章

  1. Spring Boot+Gradle+ MyBatisPlus3.x搭建企业级的后台分离框架
  2. 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015-未完待续
  3. Android 创建其它应该程序的上下文对象
  4. 在Unity实现游戏命令模式
  5. Ubuntu GNOME 15.10升级16.4LTS
  6. 未来如何与计算机和谐相处,未来计算机将进入身体和大脑,大脑将和云连接
  7. android屏幕基础知识
  8. selenium自动化测试-1.selenium介绍及环境安装
  9. 片偏移怎么计算_搞懂钢丝网片计算原理,怎么算都不怕出错!
  10. 【渝粤教育】国家开放大学2018年秋季 0633-21T化工CAD 参考试题
  11. Atitit 图像处理 halcon类库的使用  范例边缘检测 attilax总结
  12. CFD后处理出图软件Tecplot的操作技巧(未完待续)
  13. 16中国App年度排行榜及17年趋势预测
  14. 室外宽温1口千兆光纤收发器工业导轨式发送机接收机单模单纤单电口
  15. 摄影基础知识——曝光和测光
  16. 浙大远程教育计算机小抄,一张A4纸能写多少个字?看完浙大考生的“小抄”,网友:稳过!...
  17. 克罗内克积(Kronecker product)与笛卡尔乘积(Cartesian product)
  18. Day 。 9 我来个初级的文字游戏《魔兽世界。巫妖王之怒》
  19. LeetCode 89 双周赛
  20. 硬件描述语言VHDL

热门文章

  1. 诚信比生命更重要,人不诚信难成正果
  2. JESD22-A120C,2022年最新版发布。用于集成电路的有机材料的水汽扩散率以及水溶解度试验方法
  3. 西电硕士论文 Latex 模板:填坑!
  4. 洛谷 P2832 行路难
  5. 越狱第四季下载(PMP)
  6. python 导入第三方包_python 导入第三方包---
  7. DWZ表单验证规则一览表
  8. 014 非常好用的广告净化器
  9. 分支-15. 日K蜡烛图(15)
  10. 使用python画K线图(蜡烛图)