1 init沒有太大變化,從init.rc可以看出規則未變,但init.rc出現了一些新的設定,看來更依賴kernel的一些資訊了
2 app_process未有太大變化,即zygote沒有變化
3 SystemServer變化很大,增加了幾個奇怪的service,而且有些service的啟動開始受到系統屬性的控制了,例如 audioService受到"system_init.startaudioservice“控制
3.1 增加昨天提到的SchedulePolicyService,用於控制媒體相關進程調度策略的調整。注意是調度策略,而不是優先順序。
3.2 增加了一個NB哄哄的DreamManagerService,作用是ScreenSaver,及屏保功能。AOSP版本預設啟動的是 com.google.android.deskclock/com.android.deskclock.Screensaver服務。
3.3 增加SerialService,可支援對串口的裝置進行操作。
3.4 新增CommonTimeManagementService,說明是manages the configuration of the native Common Time service
3.5 新增CertBlacklister,provides a simple mechanism for updating the platform blacklists for SSL certificate public keys and serial numbers。SSL的黑名單
3.6 新增UpdateLockService:提供升級鎖,Advisory wakelock-like mechanism by which processes that should not be interrupted for OTA/update purposes can so advise the OS
3.7 增加NsdService,Network Service Discovery Service 網路服務搜尋service
3.8 增加LockSettingsService,和鎖定畫面中的輸入密碼,手勢等安全功能有關。可以儲存每個user的相關鎖屏資訊(Android終於向多使用者 邁出了堅實的步驟。anyway,PackageManagerService的UserManager的變化基本沒有,可能多使用者支援的功能還是沒做完?)
3.9 EntropyService改名成EntropyMixer了。實在不知道,這個玩意有什麼好改名字的??
3.10 增加InputManagerService,以前此兄的前輩是在WindowManagerService中的,現在獨立出來了。
4 Input系統變化
4.1 獨立出來InputManagerService
4.2 大體流程沒有變,主要成員還在,如InputHub,InputManager,增加了底層檢測到輸入裝置後,往java層通知的機制。如果你懂4.0.4 input系統 的話,這塊沒有問題。
5 新增介面說明:
5.1 增加了MediaRouter類。可由APP選擇聲音從哪個裝置出(比如有USB音箱,耳機等)。以前這部分工作是系統根據寫死的策略來做的 現在可由APP來設了。此功能必將搞死一堆做audiopolicy的兄弟,尤其是做APP的不按規則做事的時候(比如瞎設聲音路由,因為系統 目前還不能完全支援任意裝置的任意聲音路由。原因是和硬體有點關係)
5.2 增加MediaCodec類,支援從native層直接拿到編解碼資料。媽的。從這一條可以很明顯看出,java在android平台上越來越只是語言工具 了,想要做個好東西,專業人才的地位激凸!啥意思?打個比方,會說英語的人難道就很牛叉嗎?英語只是溝通的工具,會搞編解碼、 會搞圖形映像演算法,會搞網路開發才牛叉。所以,在這個比方中,會說英語算個屁。希望兄弟們抓緊專業知識的學習。 其他和再細節得沒看了。如果你對android很熟的話,2個小時內也能像我一樣對整個變化做個增量分析了。