00 | Android 高级进阶(源码剖析篇)

Android 高级进阶(源码剖析篇).jpg

Android 发展到现在,已经接近 10 个年头了,但在平时的招聘面试过程中,我发现很多开发者其实对工程实践中很多通用技能点要么没听说,要么掌握的不全面。于是就有了《Android 高级进阶》一书。

在这本书的内容简介中有说到,本书是 Android 的进阶学习指南,主要是 Android 初中级开发者进阶所需的知识点,高级开发者也可以从中发现很多共鸣点。本书的主要目的在于给读者一个完整的 Android 中高级开发者的知识图谱,旨在为初中级开发者在技术上更上一层楼提供必要的知识储备,当然,某些知识点如果要讲完整,可以单独成书,限于篇幅,类似这样的少量几个知识点只能点到为止,但相信读完此书后,在 Android 研发这条道路上你的视野会更开阔,在技术选型,方案讨论中会具备更多的决策能力。

但是有些读者读完《Android高级进阶》一书,总感觉意犹未尽。有的反馈如果部分知识点能够深入讲解就更好了,例如书中提到的开源框架的实现原理。在这本书中我确实介绍了不少常用的开源框架,特别是在系统架构篇中的《基于开源项目搭建属于自己的技术堆栈》一节,介绍了搭建一个应用所需的通用基础能力涉及到的开源框架,当时在这本书中想要讲清楚这些框架的整体架构和核心原理等不仅篇幅不允许,也不符合这本书的定位。

这本书开始于 2015 年,出版于 2016 年,这两年是国内外 Android 领域蓬勃发展的时期,特别是 2016 年。到了今年,也就是 2017 年,可以说 Android 已经处于一个成熟稳定期,今年几乎没有什么新鲜的东西出现,很多都是在炒冷饭了。一个技术领域发展到了这种时期,是时候让我们沉下心来深入常用框架的内部,了解其底层实现,一方面进一步加强自身的技术积累,另一方面也能够让自己在众多的开发者中脱颖而出。

当然,源码剖析是一个费力不讨好的工作,网上也有很多人尝试做系列的剖析,但都没能坚持下来,往往写了几篇之后就因为各种原因搁置了;也有些人尝试通过多人协作的模式,虽然量是出来了,质却良莠不齐,文章的风格和架构也不统一。还有些人对框架的解析重点放在架构设计上,对代码实现细节介绍很少。但往往细节才是魔鬼,架构理解得再好,还是要通过代码一行一行来实现,对于大多数开发者来说,对架构得理解固然重要,但实际工作中更多的还是对细节的处理,PPT 工程师毕竟占少数。

以上是费力,不讨好指的是对大多数开发者而言,他们其实并不想了解项目中所用框架的实现细节,毕竟工作中只是实现业务代码,写写 if else,他觉得了解底层细节对他没什么用。看看技术图书市场,销量最高的往往是那些入门类图书,看看网上的技术文章,点赞数高的往往是一些 awesome 类的文章。当然这和技术人员的金字塔分布也有一定关系。初中级开放人员总是占多数。但你有没有想过,那些高级工程师,资深工程师,架构师是如何升上去的呢?想在技术线往上升,起码在技术上你得有别于其他人的竞争力。对框架的透彻理解就是提升竞争力的方式之一。

为了更进一步说明阅读源码的重要性,在此,我引用下 2013 年写的一篇文章中的一段话:

Android 应用开发已经进入到相对成熟的阶段,特别在国外,涌现出了各式各样的成熟稳定的开源库,供普通开发者使用。这种情况虽然极大加速了 app 开发的进程,但同时带来的问题是大多数普通开发者在使用这些开源库的时候只是止步于知道怎么使用它,但对开源库的底层实现原理并不清楚,或者不怎么深究,导致的问题很多:
1)当开源库出现 bug 时,不能够很好很快的定位出问题;
2)自己日常的代码编写只局限于实现 app 的业务逻辑,太上层,对技术水平的提升没有多大的好处;
3)对追求完美的人来说,只有对自己项目中所有代码实现的原理都清楚的时候,才会安心,才会有成就感;
4)当自己项目需要写基础库代码时,如果已经熟知各种开源库的实现,那么更能设计出好的架构,写出好的代码。

以上是 《Android高级进阶(源码剖析篇)》的缘起,以下是初版的目录,我们剖析的基本上都是久经考验的知名框架。当然,想要完成目录中这些框架的剖析,本身需要很大的工作量,但万事要有个宏大的目标,让我们一步一步走下去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,071评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,093评论 4 62
  • RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命...
    火狼o阅读 650评论 0 1
  • 用满满一缸月光灌慨 我园中的小芽 春风下了一夜 开出了 两枝桃香半亩诗
    杮下卖酒阅读 124评论 0 1
  • 2015年爱微商开始立项,2016年测试结束,到今天正式上线3个月,注册用户达50多万人,最高同时在线10万余人....
    去驴行阅读 466评论 0 1