2016年讀過的Android好書推薦

每到年底,朋友圈都能看到各種」大神「曬出來的書單,洋洋洒洒一年讀二三十本書的彷彿都不好意思見人,曬起來都四十本起步。答主本人很慚愧,並沒有讀多少本書,其中還包含去年讀過今年又翻出來讀一遍的、一直當做工具書來讀的。技術類書籍或許大抵都是如此,一本書需要反覆揣摩、思考、實踐,直到完全吸收,才好意思叫「讀過」罷。

P.S. 由於現在「李鬼」太多,怕大家買錯之後跑來噴我,我就乾脆上鏈接了。

1. amazon.cn/gp/product/B0

這本書大概是我讀過的講解Android源碼中,把IPC通信講解的通俗透徹的一本了,也是我唯一推薦的源碼解讀書。當然書中關於View的繪製方面講解也是很贊。書中少有那種大段大段讓人看了想睡覺的源碼,排版很用心。美中不足的是OpenGL等部分講解略顯潦草。

可以說這本書我已經斷斷續續翻了兩年了,正確的閱讀方式也應該如此——跳過晦澀難懂或自己不熟悉or不感興趣的模塊,直接看自己感興趣的部分,比如`View`的`travel`機制,比如`WindowManager`的管理機制,或者僅僅是應付面試,看看`ActivityManager`臨時抱佛腳,也未嘗不可。有興趣了再看看`InputManager`之類的當然更好。

一言以蔽之,光會畫幾個UI,寫幾個Activity或Fragment,僅僅是「外家拳」而已,而Android源碼部分的知識則相當於內功心法,重要性不言而喻。

2. 移動App性能評測與優化

不得不說這一本書真的震撼到我了——騰訊的測試團隊對Android的DVM掌握程度,簡直甩開國內90%開發者。真的不要不服,耐著性子看完第一章關於降低app內存消耗的部分,從挖掘問題,指定解決方案、驗收方案、監控方案等一系列過程……我是在心中暗挑大拇指了。

更難能可貴的是,這部書介紹的優化之路,並不是直接丟個解決方案出來,讓你自己一臉懵逼。而是從發現問題開始講起,到問題背後邏輯、如何選擇解決方案、如何解決、如何驗收解決成果……一步看下來,可以看到騰訊研發團隊和測試團隊在面對問題時的思考過程,受益良多。

3. HTTP權威指南

又是一本」內功心法「,說起來不怕大家笑話,截止到去年,TCP/IP那三本經典,我連其中之一《TCP/IP詳解·卷1:協議(原書第2版》都沒能耐著性子看完。反倒是這本,由淺入深的講解HTTP,」順帶「講了TCP/IP的權威指南,看過之後方有恍然大悟之感。

這本也屬於我閑著沒事都會翻出來讀讀的書,查缺補漏嘛。

相比之下,《圖解HTTP+圖解TCP/IP+圖解網路硬體》 三件套更適合像我這種非科班出身,自學寫程序的人去補的基礎。屬於網路開發的入門三篇,如果計算機科班出身的應該用不到(如果你有好好學習的話),但還是在這裡推薦一下吧。

4. Gradle for Android中文版

AndroidStudio基本上已經完全代替了Eclipse了。改換AS一年多,對Gradle的了解還基本上趨近於零,於是準備系統的看看關於Gradle的書,結果悲劇的是,剛買完兩百多塊的英文原版之後的兩個月就出中文版了……然而英語渣的我出於心虛,又讀了一遍中文版……

值得肯定的是譯者自己也身為Android開發者,所以對於翻譯的把控非常到位,並不會出現「看不懂中文」的尷尬翻譯。這本書對於SDK開發還是非常有幫助的,利用Gradle對巨大臃腫的項目做模塊拆分,做多模塊構建、倉庫管理等方面的工作還是少不了Gradle相關的背景知識,很值得看。

其餘的今天寫不動了,先寫到這裡。最後感慨一句——我朝的書賣的真TM便宜啊……

推薦閱讀:

Android 源碼分析 —— 從 Toast 出發
Android里那些令人費解的命名(一)ViewRoot
Android源碼的Binder許可權是如何控制?
Android中為什麼主線程不會因為Looper.loop()里的死循環卡死?

TAG:Android开发 | Android系统源码 | Gradle |