全書(shū)從操作系統(tǒng)的基礎(chǔ)知識(shí)入手, 全面剖析進(jìn)程/線程、內(nèi)存管理、Binder機(jī)制、GUI顯示系統(tǒng)、多媒體管理、輸入系統(tǒng)、虛擬機(jī)等核心技術(shù)在Android中的實(shí)現(xiàn)原理。書(shū)中講述的知識(shí)點(diǎn)大部分來(lái)源于工程項(xiàng)目研發(fā), 因而具有較強(qiáng)的實(shí)用性, 希望可以讓讀者“知其然, 更知其所以然”。本書(shū)分為編譯篇、系統(tǒng)原理篇、應(yīng)用原理篇、系統(tǒng)工具篇, 共4篇25章, 基本涵蓋了參與Android開(kāi)發(fā)所需具備的知識(shí), 并通過(guò)大量圖片與實(shí)例來(lái)引導(dǎo)讀者學(xué)習(xí), 以求盡量在源碼分析外為讀者提供更易于理解的思維方式。本書(shū)既適合Android系統(tǒng)工程師, 也適合于應(yīng)用開(kāi)發(fā)工程師來(lái)閱讀, 從而提升Android開(kāi)發(fā)能力。讀者可以在本書(shū)潛移默化的學(xué)習(xí)過(guò)程中更深刻地理解Android系統(tǒng), 并將所學(xué)知識(shí)自然地應(yīng)用到實(shí)際開(kāi)發(fā)難題的解決中。
Android系統(tǒng)的誕生地——美國(guó)硅谷。
Google大樓前擺放著Android的zui新版本雕塑,歷史版本則被放置在Android Statues Park中
寫(xiě)第2版前言時(shí),筆者剛好在美國(guó)加州硅谷等地公事出差訪問(wèn)。其間我一直在思考的問(wèn)題是,美國(guó)硅谷(Silicon Valley)在近幾十年時(shí)間里長(zhǎng)盛不衰的原因是什么?技術(shù)的浪潮總是一波接著一波的,誰(shuí)又會(huì)在不遠(yuǎn)的將來(lái)接替Google的Android系統(tǒng),在操作系統(tǒng)領(lǐng)域成為下一輪的弄潮兒?我們又應(yīng)該如何應(yīng)對(duì)這種“長(zhǎng)江后浪推前浪”的必然更迭呢?
從歷史的長(zhǎng)河來(lái)看,新技術(shù)、新事物的誕生往往和當(dāng)時(shí)的大背景有著不可分割的關(guān)系。如果我們追溯硅谷的發(fā)展史,會(huì)發(fā)現(xiàn)其實(shí)它相對(duì)于美國(guó)很多傳統(tǒng)地區(qū)來(lái)說(shuō)還是非常年輕的。“硅谷”這個(gè)詞是在1971年的“Silicon Valley in the USA”系列報(bào)導(dǎo)文章中才首次出現(xiàn)的。20世紀(jì)四五十年代開(kāi)始,硅谷就像一匹脫了韁的野馬一般,“一發(fā)不可收拾”。從早期的Hewlett-Packard公司,到仙童、AMD、Intel以及后來(lái)的Apple、Yahoo!等眾多世界一流企業(yè),硅谷牢牢把握住了科技界的幾次大變革,成功匯集了美國(guó)90%以上的半導(dǎo)體產(chǎn)業(yè),逐步呈現(xiàn)出“生生不息”的景象。
但為什么是硅谷,而不是美國(guó)其他地區(qū)成為高科技行業(yè)的“發(fā)動(dòng)機(jī)”呢?
古語(yǔ)有云,“天時(shí)、地利、人和,三者不得,雖勝有殃”。
現(xiàn)在我們回過(guò)頭來(lái)看這段歷史,應(yīng)該說(shuō)硅谷早期的發(fā)展和當(dāng)時(shí)的世界大環(huán)境有很大關(guān)系——更確切地說(shuō),正是美國(guó)國(guó)防工業(yè)的發(fā)展訴求,才給了硅谷創(chuàng)業(yè)初期的“第一桶金”。只有“先活下來(lái),才有可能走得更遠(yuǎn)”。而接下來(lái)社會(huì)對(duì)半導(dǎo)體工業(yè)需求的爆炸式增長(zhǎng),同樣讓硅谷占據(jù)了“天時(shí)”的優(yōu)勢(shì),再接再厲最終走上良性循環(huán)。
密密麻麻的硅谷大企業(yè)
(引用自cdn.com)
硅谷的“地利”和“人和”,可能主要體現(xiàn)在:
(1)Stanford University
斯坦福大學(xué)校園
Stanford University在硅谷的發(fā)展過(guò)程中起到了非常關(guān)鍵的作用。20世紀(jì)50年代的時(shí)候,這所大學(xué)還并不是很起眼,各方面條件都比較糟糕,她的畢業(yè)生也多數(shù)會(huì)去東海岸尋求就業(yè)機(jī)會(huì)。后來(lái)她的一位教授Frederick Terman看到了產(chǎn)業(yè)和學(xué)術(shù)的接合點(diǎn),從學(xué)校里劃分出一大塊空地來(lái)鼓勵(lì)學(xué)生創(chuàng)業(yè),并且指導(dǎo)其中兩位學(xué)生創(chuàng)立了Hewlett-Packard公司。隨后的幾年他又成立了Stanford Research Park,這也同時(shí)是后來(lái)全球各高科技園區(qū)的起點(diǎn),并吸引了越來(lái)越多的公司加入。在那段時(shí)間里,相信起到核心催化作用的是“產(chǎn)”+“學(xué)”的高度結(jié)合——將科技產(chǎn)品不斷推陳出新產(chǎn)生經(jīng)濟(jì)效益,然后再回饋到研究領(lǐng)域。在幾十年的跨度里,很多頂尖公司(Google、Yahoo!、HP等)的創(chuàng)始人都出自該校。有統(tǒng)計(jì)顯示Standford師生及校友創(chuàng)造了硅谷一半以上的總產(chǎn)值,其影響力可見(jiàn)一斑。
(2)便利的地理環(huán)境
整個(gè)硅谷地區(qū)面積并不是很大,屬于溫帶海洋性氣候,全年平均溫度在13℃~24℃,污染很小。同時(shí),它依林傍海,陸、海、空都可以很好地與外界相連,這樣一來(lái)自然有利于人才的引入。
(3)鼓勵(lì)創(chuàng)新,完善的專利保護(hù)機(jī)制
從法律上講,硅谷每年有超過(guò)4000項(xiàng)的專利申請(qǐng),工程師和律師的比例達(dá)到了10∶1。在創(chuàng)新點(diǎn)得到保護(hù)的同時(shí),也使得初創(chuàng)公司能夠得到進(jìn)一步的發(fā)展,從而避免它們被扼殺在搖籃中。從觀念上來(lái)說(shuō),硅谷人對(duì)知識(shí)產(chǎn)權(quán)還是非常尊重的,他們大多認(rèn)為剽竊是沒(méi)有技術(shù)含量的,相當(dāng)于“涸澤而漁”。
(4)完善的風(fēng)投體系,并容忍失敗
事實(shí)上在硅谷創(chuàng)業(yè),其成本和失敗率都很高——其中能存活3~5年的公司只有10%~20%。一方面,風(fēng)險(xiǎn)投資方需要高度容忍這樣的失敗率;另一方面,在允許快速試錯(cuò)的同時(shí),風(fēng)險(xiǎn)投資方又可以從某些成功中獲得巨大收益——硅谷就是一個(gè)可以達(dá)到這種矛盾平衡的神奇所在地。
“三十年河?xùn)|,三十年河西”,技術(shù)的浪潮總是在不斷演進(jìn)的。從Symbian、Black Berry,到Android、iOS,歷史經(jīng)驗(yàn)告訴我們沒(méi)有一項(xiàng)技術(shù)是會(huì)永遠(yuǎn)一成不變的。所以我們?cè)诩夹g(shù)領(lǐng)域的探索過(guò)程中,既要拿“魚(yú)”,更要學(xué)會(huì)“漁”——前者是為當(dāng)前的工作而努力,后者則是為我們的未來(lái)做投資。以Android操作系統(tǒng)為例,事實(shí)上我們除了“知其然”外,還更應(yīng)該學(xué)習(xí)它的內(nèi)部設(shè)計(jì)思想——即“知其所以然”。當(dāng)我們真正地理解了那些“精華”所在以后,那么相信以后再遇到任何其他的操作系統(tǒng),就都可以做到“觸類旁通”了。也只有這樣,或許才能在快速變革的科技領(lǐng)域中把握住脈搏,立于不敗之地。
林學(xué)森
于美國(guó)硅谷
關(guān)于本書(shū)第2版
在第1版上市的這兩年時(shí)間里,不斷有讀者來(lái)信分享他們閱讀本書(shū)時(shí)的感想和心得,筆者首先要在這里衷心地向大家說(shuō)聲感謝!正是你們的支持和肯定,才有了《深入理解Android內(nèi)核設(shè)計(jì)思想》(第2版)的誕生。
其中有不少讀者提到了他們希望在本書(shū)后續(xù)更新中看到的內(nèi)容,包括Android虛擬機(jī)的內(nèi)部實(shí)現(xiàn)原理、Android的安全機(jī)制、Gradle自動(dòng)化構(gòu)建工具等——這些要求都在本次版本更新中得到了體現(xiàn)。
需要特別說(shuō)明的是,第2版中的所有新增和有更新的部分都是基于Android最新的N版本展開(kāi)的。由于Android版本的更新?lián)Q代很快,且版本間的差異巨大,導(dǎo)致書(shū)中很多內(nèi)容幾乎需要全部重寫(xiě)。另外筆者寫(xiě)書(shū)都是在下班后的業(yè)余時(shí)間進(jìn)行的,所以即便是每晚奮筆疾書(shū)到深夜,再加上周末和節(jié)假日時(shí)間(如果沒(méi)有加班工作的話),最后發(fā)現(xiàn)更新全書(shū)所需時(shí)間依然要大于Android系統(tǒng)的發(fā)布間隔。為了讓讀者可以早日閱讀到大家感興趣的內(nèi)容,本次版本的部分章節(jié)保留了第1版的原有內(nèi)容——本書(shū)下一次再版時(shí)會(huì)爭(zhēng)取將它們更新到Android的最新版本。這一點(diǎn)希望得到大家的諒解,謝謝!
致謝
感謝我目前任職公司的領(lǐng)導(dǎo)和同事們,是你們的幫助和支持,才讓我更快地融入到了這個(gè)大家庭中。在一個(gè)到處都是“聰明人”和具有“狼性?shī)^斗者”精神的公司里,每天的進(jìn)步和知識(shí)積累都是讓人愉悅的。
感謝人民郵電出版社的編輯,你們的專業(yè)態(tài)度和處理問(wèn)題的人性化,是所有作者的“福音”。
感謝我的家人林進(jìn)躍、張建山、林美玉、楊惠萍、林惠忠、林月明,沒(méi)有你們的鼓勵(lì)與理解,就沒(méi)有本書(shū)的順利出版。
感謝我的妻子張白楊的默默付出,是你工作之外還無(wú)怨無(wú)悔地在照顧著我們可愛(ài)的寶寶,才讓我有充足的時(shí)間和精力來(lái)寫(xiě)作。
感謝所有讀者的支持,是你們賦予了我寫(xiě)作的動(dòng)力。另外,因?yàn)閭(gè)人能力和水平有限,書(shū)中難免會(huì)有不足之處,希望讀者不吝指教,一起探討學(xué)習(xí)。
作者
本文僅用于學(xué)習(xí)和交流目的,不代表異步社區(qū)觀點(diǎn)。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接。
林學(xué)森,曾于多家跨國(guó)企業(yè)擔(dān)任研發(fā)和管理工作,并已在國(guó)內(nèi)外會(huì)議、雜志上發(fā)表多篇文章,獲得多個(gè)發(fā)明專利。現(xiàn)為某世界500強(qiáng)科技公司高級(jí)專家、資深架構(gòu)師。