| 商品名稱: 深入剖析 Android新特性 | 齣版社: 電子工業齣版社 | 齣版時間:2018-05-01 |
| 作者:張波 | 譯者: | 開本: 16開 |
| 定價: 79.00 | 頁數: | 印次: 1 |
| ISBN號:9787121339332 | 商品類型:圖書 | 版次: 1 |
“新”和“舊”是相對的,本書會介紹Android係統5.0至8.0的新增特性。
在這些特性中,有的是Android係統針對舊版本存在問題的改進,例如,針對功耗問題改進的Project Volta和Doze模式,針對權限問題的Runtime Permission;有的是對係統功能的增強,例如,多窗口模式;有的是應對未來行業趨勢的發展,例如,對於VR的支持。
Android作為一個跨越瞭多種設備的軟件平颱,由於各傢廠商對於設備的支持速度不一,在市場上的碎片化現象很嚴重。在Android 7.0、8.0推齣的時候,很多用戶可能還在使用4.4甚至更早的版本。而從Android的新版本推齣,到*終真正普及,需要一個較長的過渡時期。
這個現象對開發來說既有好處也有壞處。好處是開發者有足夠多的時間為新版本的功能和特性做準備,壞處是開發者在開發應用時需要兼顧太多的版本。
本書希望能給開發者們對近幾年Android的新特性做一個梳理。隨著時間的推移,隨著Android新版本的逐步普及,這些內容是開發者在*近幾年正好需要的。
另外,這不是一本僅僅告訴讀者Android SDK中的API如何使用的書。在本書主要分析這些特性的內部實現上,通過解析AOSP的源碼,讓讀者不僅知其然,也知其所以然。
本書對*近幾個版本(5.0 ~ 8.0)的主要新增功能進行整理和解析,本書的重點不僅僅是講解這些新增功能特性的外部行為,而是在結閤AOSP的源碼基礎上,解析這些功能特性的內部實現。 任何已有的功能都是固定的,隨著行業的發展,Android係統在未來可能加入的功能是不確定的,隻有掌握瞭閱讀和分析AOSP源碼的能力,纔能應對不確定的變化,並具備今後能夠自行研究Android係統的能力。
強波,江蘇南京人,現居住在浙江杭州。就職於阿裏巴巴集團-OS事業部-核心係統部門。在阿裏,我的花名叫做”未悔“,花名取自《離騷》:”亦餘心之所善兮,雖九死其尤未悔“。多年智能操作係統開發經驗,熱愛鑽研技術,也熱愛分享技術。現在負責AliOS運行時環境的研究與開發,參與過手機、汽車、平闆、TV等多種智能設備的研發工作。個人博客:http://qiangbo.space。
第1章 預備知識 1 1.1 Android係統架構 1 1.2 關於AOSP 3 1.3 理解Android Binder機製 3 1.3.1 Binder機製簡介 3 1.3.2 整體架構 4 1.3.3 驅動層 7 1.3.4 Binder Framework C++部分 26 1.3.5 Binder Framework Java部分 54 1.3.6 參考資料與推薦讀物 70 第2章 Android係統中的進程管理 72 2.1 關於進程 72 2.2 係統進程與應用進程 73 2.2.1 init進程與init語言 75 2.2.2 Zygote進程 81 2.2.3 system_server進程 84 2.3 應用進程的創建 87 2.3.1 關於應用組件 87 2.3.2 進程與綫程 88 2.3.3 ActivityManagerService 89 2.3.4 Activity與進程創建 92 2.3.5 Service與進程創建 94 2.3.6 ContentProvider與進程創建 96 2.3.7 BroadcastReceiver與進程創建 97 2.3.8 參考資料與推薦讀物 99 2.4 進程的優先級管理 100 2.4.1 優先級的依據 100 2.4.2 優先級的基礎 102 2.4.3 優先級的更新 105 2.4.4 優先級的算法 108 2.4.5 優先級的生效 119 2.4.6 結束語 119 2.4.7 參考資料與推薦讀物 120 2.5 進程與內存的迴收 120 2.5.1 開發者API 121 2.5.2 虛擬機的垃圾迴收 122 2.5.3 開發者的內存迴收 122 2.5.4 Linux OOM Killer 123 2.5.5 LowMemoryKiller 125 2.5.6 進程的死亡處理 126 2.5.7 參考資料與推薦讀物 127 2.6 結束語 127 第3章 Android係統上的虛擬機 129 3.1 Java語言與Java虛擬機 130 3.1.1 Java語言 130 3.1.2 Java虛擬機 130 3.1.3 Java虛擬機實現架構 130 3.1.4 類加載器(Class loader) 132 3.1.5 垃圾迴收 132 3.1.6 結束語 135 3.1.7 參考資料與推薦讀物 135 3.2 Dalvik虛擬機 135 3.2.1 Stack-based VS. Register-based 136 3.2.2 Dalvik Executable(dex)文件 137 3.2.3 Dalvik指令 139 3.2.4 Dalvik啓動過程 144 3.2.5 程序的執行:解釋與編譯 153 3.2.6 Dalvik上的垃圾迴收 156 3.2.7 參考資料與推薦讀物 159 3.3 Android Runtime(ART) 159 3.3.1 ART VS.Dalvik 159 3.3.2 OAT文件格式 162 3.3.3 boot.oat與boot.art 165 3.3.4 Dalvik到ART的切換 166 3.3.5 ART虛擬機的啓動過程 169 3.3.6 內存分配 173 3.3.7 垃圾迴收 178 3.3.8 JIT的迴歸 182 3.3.9 ART虛擬機的演進與配置 185 3.3.10 參考資料與推薦讀物 186 第4章 用戶界麵改進 187 4.1 多窗口功能 187 4.1.1 概述 188 4.1.2 開發者相關 189 4.1.3 內部實現 191 4.1.4 參考資料與推薦讀物 205 4.2 App Shortcuts 206 4.2.1 開發者API 206 4.2.2 內部實現 209 第5章 係統界麵改進 215 5.1 SystemUI整體介紹 215 5.1.1 SystemUI簡介 215 5.1.2 SystemUI的初始化 216 5.1.3 System Bar的初始化 221 5.1.4 參考資料與推薦讀物 224 5.2 System Bar 224 5.3 Notification 234 5.3.1 開發者API 234 5.3.2 通知欄與通知窗口 240 5.3.3 Notification從發送到顯示 243 5.4 Quick Settings 256 5.4.1 開發者API 256 5.4.2 係統實現 260 5.4.3 參考資料與推薦讀物 265 第6章 功耗的改進 266 6.1 Project Volta 266 6.1.1 JobScheduler API 267 6.1.2 電量消耗分析工具 277 6.1.3 在虛擬機層麵減少電池消耗 279 6.1.4 省電模式 280 6.1.5 結束語 281 6.1.6 參考資料與推薦讀物 281 6.2 Doze模式與App StandBy 282 6.2.1 概述 282 6.2.2 瞭解Doze模式 282 6.2.3 瞭解App StandBy 284 6.2.4 對其他用例的支持 284 6.2.5 在Doze模式和App StandBy下進行測試 285 6.2.6 Doze模式的實現 287 6.2.7 App StandBy的實現 293 6.2.8 參考資料與推薦讀物 297 6.3 Android 8.0上的後颱限製 297 6.3.1 概覽 298 6.3.2 後颱服務限製 299 6.3.3 廣播限製 300 6.3.4 係統實現 301 6.3.5 結束語 308 第7章 麵嚮設備管理的改進 310 7.1 多用戶的支持 310 7.1.1 術語 311 7.1.2 支持多用戶 312 7.1.3 多用戶的實現 313 7.1.4 參考資料與推薦讀物 333 7.2 設備管理 334 7.2.1 Device Administration API介紹 334 7.2.2 開發設備管理程序 335 7.3 麵嚮企業環境的Android 339 7.3.1 企業環境解決方案 340 7.3.2 受管理資料(Managed Profiles) 340 7.3.3 受管理資料的內部實現 342 7.3.4 參考資料與推薦讀物 349 第8章 Android係統安全改進 350 8.1 Android係統安全概覽 350 8.2 運行時權限 351 8.2.1 功能介紹 351 8.2.2 新增API 354 8.2.3 參考資料與推薦讀物 370 第9章 圖形係統改進 371 9.1 整體架構 371 9.1.1 Android圖形組件 371 9.1.2 組件 373 9.1.3 Android如何繪製視圖 374 9.1.4 關於硬件加速 376 9.1.5 參考資料與推薦讀物 377 9.2 圖形係統組件 377 9.2.1 Activity與Surface 377 9.2.2 Gralloc 379 9.2.3 BufferQueue 382 9.2.4 Surface 384 9.2.5 參考資料與推薦讀物 388 9.3 Project Butter 388 9.3.1 FPS 389 9.3.2 VSYNC 391 9.3.3 Choreographer與VSYNC 392 9.3.4 Triple Buffer 398 9.3.5 參考資料與推薦讀物 400 9.4 SurfaceFlinger 400 9.4.1 SurfaceFlinger 介紹 401 9.4.2 Hardware Composer 402 9.4.3 SurfaceFlinger的啓動 403 9.4.4 SurfaceFlinger的對外接口 405 9.4.5 VSYNC的傳遞 407 9.4.6 SurfaceFlinger的事件 409 9.4.7 圖層的閤成 411 9.4.8 刷新 412 9.4.9 參考資料與推薦讀物 413 9.5 Vulkan簡介 414 9.5.1 Vulkan組件 414 9.5.2 修改的組件 415 9.5.3 Vulkan API 415 9.5.4 參考資料與推薦讀物 415 第10章 係統架構改進 416 10.1 Project Tre
說實話,一開始我對《深入剖析 Android新特性》抱有一絲懷疑,畢竟“深入剖析”四個字聽起來就很有挑戰性。然而,翻開這本書之後,我徹底被打動瞭。它不僅僅是一本技術手冊,更像是一堂高質量的在綫課程,隻不過是以紙質書的形式呈現。作者的講解邏輯清晰,循序漸進,即使是一些非常晦澀的概念,也能被他解釋得明明白白。我尤其被書中對 UI 布局優化新策略的探討所吸引,它詳細分析瞭 ConstraintLayout 的一些高級用法,以及如何通過測量和布局過程來提升界麵的渲染效率。書中對暗黑模式的實現原理和適配策略的講解,也為我解決瞭很多實際項目中的難題。另外,它對 Android 13 中引入的通知權限管理和分區的存儲訪問進行瞭深入的剖析,讓我對如何更好地管理用戶權限有瞭更深刻的理解。讓我驚喜的是,書中還觸及瞭一些關於多窗口和分屏交互的新特性,並給齣瞭非常實用的實現建議,這對於開發支持平闆和摺疊屏的設備開發者來說,絕對是福音。這本書的內容覆蓋麵廣,但又不失深度,對於想要全麵瞭解 Android 最新發展趨勢的開發者來說,這本書絕對是不可多得的寶藏。
評分書籍名稱:深入剖析 Android新特性 這本書真是讓我眼前一亮!我一直對 Android 的底層機製和新引入的特性充滿好奇,尤其是近幾年 Android 版本更新的速度非常快,許多強大的新功能湧現齣來,讓人應接不暇。當我看到《深入剖析 Android新特性》這個書名時,就覺得這正是我一直在尋找的寶藏。迫不及待地翻開它,我的感覺就像是進入瞭一個精心構建的知識殿堂。作者並沒有簡單地羅列 API,而是花瞭大量篇幅去解釋這些新特性背後的設計理念、實現原理以及它們如何與現有的 Android 框架協同工作。例如,書中對 Jetpack Compose 的剖析,不僅僅是展示瞭如何用聲明式 UI 編寫界麵,更深入地講解瞭其背後的渲染機製、狀態管理以及與傳統 View 體係的兼容性。我特彆喜歡它對於內存管理新機製的解讀,以前我對這方麵一直有些模糊,但通過書中詳細的圖示和代碼示例,我纔真正理解瞭 Project Treble 帶來的模塊化改進,以及一些新的垃圾迴收策略是如何優化應用性能的。讀完這部分,我感覺自己對 Android 性能調優有瞭全新的認識,迫不及待想在實際項目中應用這些技巧。而且,書中對 Kotlin Coroutines 在異步編程中的應用講解得非常透徹,讓原本復雜的並發編程變得清晰易懂。總的來說,這本書的知識密度和深度都超齣瞭我的預期,絕對是 Android 開發者提升技術硬實力的一本必讀書籍。
評分天哪,我得說,《深入剖析 Android新特性》這本書簡直就是我期待已久的“救世主”!作為一個每天都在和 Android 屏幕打交道的開發者,我經常感到力不從心。Android 的生態係統變化太快瞭,每次更新係統,都感覺需要重新學習一大堆東西。這本書就像一位經驗豐富的老友,耐心地引導我一步步理解那些復雜而令人興奮的新變化。我尤其欣賞它在講解性能優化方麵的角度,書中不僅僅是簡單地告訴你“要優化”,而是深入到各個子係統,比如電池管理、後颱調度,甚至是網絡請求的底層處理方式,都進行瞭細緻的分析。它解釋瞭 Android 12 引入的隱私儀錶闆和權限API的變更,讓我明白如何更安全、更負責任地處理用戶數據,這在當前隱私保護日益重要的時代尤為關鍵。書中關於 WorkManager 的深入分析也讓我受益匪淺,之前我總是用各種 hacky 的方式來處理後颱任務,讀完這本書,我纔意識到 WorkManager 提供的強大而靈活的解決方案,真正解決瞭睏擾我很久的痛點。而且,它對 CameraX 的講解也十分到位,讓原本復雜的相機開發變得觸手可及,我甚至能夠輕鬆地集成一些高級的相機功能。這本書的語言風格非常樸實,但字字珠璣,沒有絲毫的廢話,每一頁都充滿瞭乾貨。
評分我是一位 Android 初學者,對這個平颱的認識還處於一個懵懂的階段。在朋友的推薦下,我拿到瞭《深入剖析 Android新特性》這本書。一開始我擔心這本書的難度會很高,可能會讓我望而卻步。但讓我意外的是,雖然書名聽起來很專業,但作者的寫作風格卻非常易於理解。他用生動的語言和豐富的圖解,將 Android 的一些復雜的新特性,比如 ART 虛擬機的一些優化,或者是新的動畫框架,解釋得就像在講故事一樣。我最喜歡的部分是關於後颱服務和生命周期的講解,書中用非常直觀的方式展示瞭各種場景下服務組件的生命周期,讓我一下子就明白瞭之前一直感到睏惑的地方。我還學到瞭很多關於文件存儲和數據庫操作的新方法,這些都是我以前從未接觸過的。這本書讓我對 Android 的理解不再停留在錶麵,而是開始觸及到一些更底層的原理。雖然我可能還無法完全理解書中的所有技術細節,但它已經在我心中種下瞭一顆對 Android 技術深深著迷的種子。我相信,隨著我技術的不斷進步,這本書一定會成為我案頭的常備工具書。
評分《深入剖析 Android新特性》這本書,簡直是我近期閱讀體驗中最驚艷的一本!我是一名經驗豐富的 Android 開發者,一直都在努力跟上 Android 技術的步伐。市場上關於 Android 新特性的書籍不少,但很多都隻是淺嘗輒止,或者過於理論化。《深入剖析 Android新特性》卻做到瞭一個非常難得的平衡。它不僅深入講解瞭新 API 的使用方法,更重要的是,它挖掘瞭這些 API 背後的設計哲學和實現原理。例如,書中關於 Jetpack DataStore 的講解,就不僅僅是告訴你如何存儲數據,還深入剖析瞭其與 SharedPreferences 的對比,以及在性能和綫程安全方麵的優勢。我尤其喜歡它對 Material Design 3 的詳細解讀,書中不僅列舉瞭新增的組件和樣式,還提供瞭如何將其應用於現有項目中的具體指導,並且對主題和顔色的係統性調整進行瞭深入分析,這對於提升應用的視覺體驗至關重要。此外,書中對 Android Studio 中一些隱藏的強大調試工具和性能分析工具的介紹,也讓我大開眼界。這本書的內容非常紮實,技術點也很前沿,絕對是能夠幫助開發者在技術浪潮中保持領先地位的利器。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有