Android開發老農給年輕朋友的書單

小豬睡枕頭single發表於2018-01-24

從2010年開始接觸Android開發,轉眼走過了8個年頭,作為幾乎是首批嚐鮮Android平臺的老碼農,水平卻沒有曾長到與經歷相匹配的程度,甚是遺憾,不過這期間接觸過不少的牛人,他們給與了我不少啟發和指導,在此鳴謝。 之前csdn上讀過一個帖子,是一個更資深的老牛給出的他讀過的書單,我沒有那麼博學,涉及的面也沒有那麼廣,僅僅作為一個目錄,給沒讀過的朋友填填坑。 我大部分時間做的Android原生開發,期間有過8個月的H5經驗,同時做過大約三年的團隊管理,其他的端都是自學,比較皮毛,可以忽略了。 我會把讀過的書都列出來,大致分為可讀性高和不高兩類,供朋友鑑選,同時把作者標註出來,個人建議,僅供參考。

《深入理解Java虛擬機器》(周志明)

隨著對Android理解的逐漸深入,對這個平臺的原生開發語言Java的欲求越發的不滿,這本書是12年買的,那陣對書中的概念含糊不清,所以相當於白看,近兩年重新翻開覺得頗有收穫,JVM機制所涉及的東西需要系統化,大致可以分為載入編譯過程,記憶體分配和回收,記憶體模型等幾個模組,比較碎片化,不繫統的歸納很容易遺忘。

《大話資料結構》(程傑)

比較經典的書了,因為寫的通俗易懂,涉及的知識點不深,可以作為入門書籍,看了三四遍,還因為書中沒有關於紅黑樹的介紹特意給作者發郵件詢問是否還有後續版本,得到回覆:工作太忙,而且工作與這個沒什麼關聯,所以沒有計劃出新版。:-D 好吧。 資料結構和演算法如果不從事專業工作中的話,確實不會用太多,只是網際網路大廠對於這種東西一般必考,而且逐漸瞭解後是非常有意思的東西,有利於開拓思維嘛。

《資料結構與演算法分析-java語言描述》(Mark Allen Weiss)

也是演算法和資料結構,內容比上一本全一點(例如我關注的紅黑樹),同時也枯燥了一點,規規矩矩講課。

《移動App效能評測與優化》(騰訊TMQ團隊)

我關注了不少大廠的公眾號,例如QQ音樂、bugly、美團等,這本書是公眾號裡推薦的,順手買的。 說實話,書中講的東西專業性比較強,但過於理論,可以實踐的東西不多,同時裡邊涉及原理的東西例如dalvik記憶體機制可以去看更專業全面的書,所以這本里邊的東西可以簡單看看當做聊天吹牛的談資即可。

《Android Dalvik虛擬機器結構及機制剖析I和II卷》(張國印)

這書很薄,版本比較老,但原理機制的分析永遠不會過時,全書分為兩卷,第一本基礎鋪墊,第二本比較核心,十分詳細的介紹了類載入機制,記憶體管理,反射原理及其實現,直譯器模組,用行話說就是比較乾貨。同時還是那個問題,因為就是原理,碎片化的東西,雖然內容不多,如果不繫統化很容易忘。

《深入理解Android核心設計思想》(林學森)

比較厚,比較全,從如何下載原始碼並編譯開始,到作業系統基礎,然後到Android程式/執行緒管理,同時講解AMS和WMS機制,再到View體系,inputmanagerService事件的流動,甚至還講了點git的東西。 書是之前公司CTO送我的,這位大佬現在在TX任職,級別很高...所以他推薦的東西不會差。 這本書不是入門書籍,描述了Android的啟動載入過程,講得比較透,但是仍然不會那麼深,比較適合應用層開發的朋友增加深度。

《HTTP權威指南》(David Gourley / Brian Totty)

經典書籍,書很厚,但是很淺,帶你入門綽綽有餘,作為離使用者最近的應用層協議,http的發展值得關注,起碼應該抓包看看你傳送和接收的所謂的請求都包含了些什麼。

《Effective Java中文版》(Joshua Bloch)

現在對這本書咬牙切齒,我是先看了兩遍中文版的pdf,然後猶豫著買了,我也在京東的訂單裡評價了:翻譯的跟屎一樣。可是沒辦法,英文水平只能讀讀文件,讀整本書還是費勁,也看不下去。 很多人對這本書見仁見智,尤其是java版本的不斷更新,也顛覆了以往的認知,有些東西更是無法辯出個結果。 單從設計角度來說不失為一本好書,如書開篇介紹可以用工廠模式代替傳統的例項化。 書的內容不多,並且如果你是個老油條的話,書中的很多技巧你已經爛熟於胸了。

《webkit技術內幕》(朱永盛)

2015年創業的時候的產品是輕應用,由此展開了一番學習,瞭解瀏覽器核心相關,並聽聞一個傳說:360瀏覽器的開發者是一個人生啃了webkit核心後做出來的,並因此晉升到了VP,就當故事聽吧。 底層原理的書不好懂,有興趣的朋友可以一試,不然就別輕易涉水了。

《重構-改善既有程式碼的設計》(Martin Fowler)

經典書,三年作為一個分水嶺,應該對程式碼設計有一個初探了,Android開發的架構一步步演變從MVC到MVVM,無非都是嚼別人吃過的東西,但是把簡單的事做好的人不多,響應式,生命週期,模板加泛型,是我對此的理解,你的層次決定著你對架構的駕馭能力。

《軟體架構》(Mourad C哈巴呢Oussalah)

粗粗翻了一遍,我沒有什麼後端開發基礎,不太好領略其中的精神,買了看下就扔那了。

《圖解HTTP》和《圖解TCP/IP》(一個小日本)

插畫式的小人書,感覺沒什麼營養。

《Head First 設計模式》(Freeman,E)

設計模式,老生常談,每次面試都會被問到設計模式麼,並且級別越高就問的越詳細,當別人問你用過什麼設計模式的時候還會這麼回答嗎?單例,資料庫都這麼設計;監聽者,button設定事件 ; 建造者,構造多屬性複雜實體 ; 介面卡,adapter.... 對方可能直接把你定性為一年工作經驗。 binder通訊的方式使用了很多設計模式,代理,原型,工廠 balabala....

《Android 安全架構深究》(Nikolay)

2015版本的,翻譯的還算ok,翻了前幾頁其中一個知識點就吸引了我,binder作為android IPC的主要方式,為什麼效率高一些(只拷貝一次資料),用簡短的話語就說明白了。 此書作為android架構的書描述的沒有特別詳細,適合有一定虛擬機器知識的朋友來看。

《鳥哥的Linux私房菜》(鳥哥)

我只買了伺服器架構篇,之前在centOS上幹了點活兒,比如搭建android的編譯環境,布個Jenkins,搭個nexus maven,配置個防火牆啥的,雖然都比較簡單,但對於沒有什麼基礎的人來說,譬如我著實比較費勁,特此買本來看看增強自己的信心,我沒有買基礎篇,一些命令和常識只從平時的點點滴滴積累下吧 。

。。。。 未完待續,我會經常補充,我看書比較勤

相關文章