| 商品名稱: 深入剖析 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新特性》,迫不及待地翻瞭幾頁,就感覺找到瞭寶藏!作為一個長期混跡於 Android 開發社區的老兵,我深知“新特性”這個詞背後隱藏的巨大工作量——每次係統更新,那些看似簡單的 API 背後,往往牽扯著復雜的邏輯和大量的底層改動。市麵上很多書籍要麼過於淺顯,隻羅列 API,要麼過於晦澀,讓人望而卻步。這本書的命名就很精準地抓住瞭痛點,“深入剖析”這四個字,讓我看到瞭它區彆於其他同類書籍的決心。我特彆關注它在講解具體新特性時,是否會涉及到它誕生的背景、解決瞭什麼實際問題,以及在不同版本的 Android 係統中它的演進過程。我期望這本書不僅能教會我“怎麼用”,更能讓我明白“為什麼這麼用”,甚至在麵對疑難雜癥時,能夠根據新特性的原理找到解決方案。我希望它能像一位經驗豐富的前輩,在我迷茫時指點迷津,讓我少走彎路,在 Android 新特性的海洋中穩健前行。
評分作為一個對 Android 技術保持高度敏感的開發者,我一直在尋找一本能夠真正幫助我理解和掌握 Android 最新特性的深度學習資料。《深入剖析 Android新特性》這個書名,恰恰是我所期待的。我尤其看重“深入剖析”這個詞,它意味著這本書不僅僅會停留在 API 的介紹上,而是會去挖掘這些新特性背後的技術原理、設計思想,甚至是它們是如何與 Android 操作係統其他部分協同工作的。我希望這本書能為我揭示那些隱藏在華麗 API 之下的復雜機製,比如新的後颱任務調度機製如何優化電池續航,新的圖形渲染技術如何提升 UI 流暢度,或者新的安全特性如何保護用戶隱私。對於那些開發者們經常遇到的性能問題和兼容性挑戰,我更期待書中能提供基於新特性來解決問題的思路和方法。這本書的齣現,讓我看到瞭在快速迭代的 Android 生態中,能夠保持技術領先性的希望,它將是我係統學習和深入理解 Android 最新技術的重要參考。
評分我拿到《深入剖析 Android新特性》這本書時,心中湧起瞭既有期待又有些許忐忑的情緒。期待是因為,作為一名長期與 Android 為伴的開發者,我深知每一次係統更新都帶來無數令人興奮的新功能和性能提升,而“深入剖析”這個詞,預示著本書不會流於錶麵,而是要直擊核心,挖掘齣新特性背後的技術細節和設計哲學。我渴望看到作者如何解讀那些抽象的概念,如何將復雜的底層原理用清晰易懂的方式呈現齣來,例如,對於新的協程支持,書中是否會深入講解其與傳統異步處理方式的對比,以及在實際應用中如何有效地利用它們來提升應用響應速度和資源利用率?又或者,對於那些在 UI 層麵帶來革命性改變的新特性,比如 Jetpack Compose,書中是否會提供詳細的組件生命周期分析、狀態管理最佳實踐,以及與其他庫的集成方案?我希望這本書能成為我打開 Android 新世界的一把鑰匙,它不僅能幫助我快速上手,更能讓我從根本上理解這些新特性的價值所在,從而在我的開發實踐中遊刃有餘,創造齣更優秀的應用。
評分讀完《深入剖析 Android新特性》的目錄,我感覺我的技術雷達瞬間被點亮瞭。作為一個在 Android 開發領域摸爬滾打多年的工程師,我深知“新特性”並非隻是簡單的 API 疊加,它往往代錶著 Android 平颱在設計理念、性能優化、用戶體驗等方麵的重大突破。這本書的書名“深入剖析”四字,直接戳中瞭我的痛點,我渴望瞭解的不僅僅是新特性的錶麵用法,更重要的是其背後的設計哲學、實現原理,以及在實際開發中可能遇到的坑和解決之道。我特彆想知道,書中是如何處理那些跨版本兼容性問題,或者新特性引入後可能引發的性能瓶頸。例如,對於 Jetpack Compose 這樣的聲明式 UI 框架,書中是否會深入講解其背後的渲染機製,以及如何結閤傳統的 View 係統進行高效的交互?又或者,對於那些涉及底層係統調用的新 API,它能否提供清晰的調用鏈和源碼分析?我期待這本書能成為我深入理解 Android 最新技術棧的“秘密武器”,幫助我寫齣更健壯、更高效、更具創新性的應用。
評分這本書的名字聽起來就讓人眼前一亮,"深入剖析 Android新特性"。我作為一個長久以來一直在 Android 開發這條路上摸索的開發者,對於那些不斷湧現的新特性總是既期待又有些許的焦慮。期待是因為我知道它們能帶來更優化的性能、更酷炫的功能,讓我們的應用體驗更上一層樓;焦慮則是因為每一次重大更新都意味著需要投入大量的時間去學習、去理解、去實踐,生怕落伍。這本書名直接點明瞭核心,"深入剖析"這四個字尤其吸引我,它暗示著這本書不會停留在錶麵介紹,而是會挖掘到新特性背後的原理、設計思路,以及實際應用中的最佳實踐和潛在陷阱。我特彆好奇它會如何講解那些比較底層或者抽象的新特性,比如新的渲染管綫、內存管理機製的演進、或者是一些新的並發模型。對於那些已經存在但可能被大傢忽視的細節,書中是否也會進行深入的挖掘?我希望這本書能成為我學習新特性時一個可靠的導航,它能幫助我快速掌握核心,並能觸類旁通,舉一反三。我希望它不僅僅是一本技術的堆砌,更能體現齣作者對 Android 生態的深刻理解和前瞻性。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有