<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                本系列文章只為學習交流,切勿商業裝載,查看原文可查看作者[官方博客](http://blog.csdn.net/Innost) ### 內容簡介 《深入理解Android:卷2》是“深入理解Android”系列的第2本,第1本書上市后獲得廣大讀者高度評價,在Android開發者社群內口口相傳。本書不僅繼承了第1本書的優點并改正了其在細微處存在的一些不足,而且還在寫作的總體思想上進行了創新,更強調從系統設計者的角度去分析Android系統中各個模塊內部的實現原理和工作機制。從具體內容上講,本書的重點是Android Framework的Java層,對Java層涉及的核心模塊和服務進行了深入而細致的分析。通過本書,讀者不僅能對Android系統本身有更深入的理解,而且還能掌握分析大型復雜源代碼的能力。   《深入理解Android:卷2》一共8章:第1章介紹了閱讀本書所需要做的準備工作,包括Android 4.0源碼的下載和編譯、Eclipse環境的搭建,以及Android系統進程(system_process)的調試等;第2章對Java Binder和MessageQueue的實現進行了深入分析;第3章仔細剖析了SystemServer的工作原理,這些服務包括EntropyService、DropboxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService;第4章對系統中負責Package信息查詢和APK安裝、卸載、更新等工作的服務PackageManagerService進行了詳細分析;第5章則對Android系統中負責電源管理的核心服務 PowerManagerService的原理進行了一番深入的分析;第6章以ActivityManagerService為分析重點,它的啟動、Activity的創建和啟動、BroadcastReceiver的工作原理、Android中的進程管理等內容展開了較為深入的研究;第7章對ContentProvider的創建和啟動、SQLite、Cursor query和close的實現等進行了深入分析;第8章以ContentService和AccountManagerService為分析對象,介紹了數據更新通知機制的實現,以及賬戶管理和數據同步等相關知識。 ### 本書主要內容及特色   本書是筆者“深入理解Android”系列的第二本,這一本將關注重點放在了Android Framework的Java層。在眾多可供分析的知識點中,筆者另辟蹊徑,選擇了SystemServer中的服務(Service)作為主人公。這些Service大體可由圖1來表示。 ![SystemServer中的服務](https://box.kancloud.cn/20c66cb15bb9f57c8be3a725a7dd68cc_817x398.jpg =817x398) :-:   圖1 SystemServer中的服務 由圖1可知,SystemServer中的服務可劃分為7大類共43項(包括Watchdog在內): - 位于第一大類的是Android的核心服務,如ActivityManagerService、WindowManager-Service等。 - 位于第二大類的是和通信相關的服務,如Wifi的相關服務、Telephone的相關服務。 - 位于第三大類的是和系統功能相關的服務,如AudioService、MountService、UsbService等。 - 位于第四大類的是BatteryService、VibratorService等服務。 - 位于第五大類的是EntropyService、DiskStatsService、Watchdog等相對獨立的服務。 - 位于第六大類的是藍牙服務。 - 位于第七大類的是UI方面的服務,如狀態欄服務、通知管理服務等。 以上這些服務就是Android Framework Java層的核心。毫不夸張地說,它們也是Android系統的基石。另外,這些服務的內容遠非一本書所能囊括。作為Android Java層Framework分析的先頭部隊,本書涵蓋了以下內容:   第1章,介紹了閱讀本書需要做的一些準備工作,包括Android 4.0源碼的下載和編譯、Eclipse開發環境的搭建,以及Android系統進程(system_process)的調試等。   第2章,介紹了Java Binder和MessageQueue的實現。   第3章,介紹了SystemServer,并分析了圖1中第五類包含的服務的工作原理。這些服務包括EntropyService、DropBoxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService。   第4章,分析了PackageManagerService,該服務負責Android系統中的Package信息查詢和APK安裝、卸載、更新等方面的工作。   第5章,講解了PowerManagerService,它是Android中電源管理的核心服務。本章對其中的WakeLock、Power按鍵處理、BatteryStatsService和BatteryService都做了一番較為深入的分析。   第6章,以ActivityManagerService為分析重點,該服務是Android 的核心服務。本章對ActivityManagerService的啟動、Activity的創建和啟動、BroadcastReceiver的工作原理、Android中的進程管理等內容進行了較為深入的研究。   第7章,對ContentProvider的創建和啟動、SQLite相關知識、Cursor query和close的實現等進行了較為深入的分析。   第8章,以ContentService和AccountManagerService為分析對象,介紹了數據更新通知機制的實現、賬戶管理和數據同步等方面的知識。   **圖1中的其他服務將會在“深入理解Android”系列的其他書中詳細分析。該系列書的規劃請見本書最后面的“深入理解Android系列圖書路線圖”。**   本書以直接剖析源碼的方式進行講解,旨在引領讀者一步步深入于Android系統中相關模塊的內部原理,去理解它們是如何實現、如何工作的。在分析過程中,筆者根據個人研究Android代碼的心得,采用了精簡流程和逐個擊破的方法。同時,筆者還提出了一些難度不大的知識點、相關的補充閱讀資料,甚至筆者在實際項目中遇到的開放式問題,留給讀者自行研究和探討。總之,筆者希望讀者在閱讀完本書后,至少能有以下兩個收獲: - 能從“基于Android并高于Android”的角度來看待和分析Android。 - 能初步具有大型復雜代碼的分析能力。 **讀者對象**   適合閱讀本書的讀者包括:   (1)Android應用開發工程師   雖然應用開發工程師平常接觸的多是Android SDK,但是只有更深入地理解了Android系統運行原理,才能寫出更健壯、更高效的模塊。   (2)Android系統開發工程師   系統開發工程師常常需要深入理解系統的運轉過程,而本書所涉及的內容正是他們在工作和學習中最想了解的。那些對具體服務(如ActivityManagerService、PackageManagerService)感興趣的讀者,也可以單刀直入,閱讀本書相關章節。   (3)對Android系統運行原理感興趣的讀者   這部分讀者需要具有基本的Android開發知識基礎。 **如何閱讀本書**   本書是針對Android源碼進行分析的,而源碼文件所在的路徑一般都很長,例如,文件AndroidRuntime.cpp的真實路徑是frameworks/base/core/jni/AndroidRuntime.cpp。為了行文方便,在各章節開頭,均把本章涉及的源碼路徑全部列出,而在具體分析源碼時,則只列出該源碼的文件名。例如:   [-->AndroidRuntime.cpp] * * * * * //這里是源碼和一些注釋 * * * * *   另外,本書在描述類之間的關系及函數調用流程上,使用了UML的靜態類圖及序列圖。UML是一個強大的工具,但它的建模規范過于煩瑣,為更簡單清晰地描述事情的本質,本書并未完全遵循UML的建模規范。這里僅舉一例,如圖2所示。 ![](https://s3.cn-north-1.amazonaws.com.cn/sitbweb-cn/content/B00BTCM8SA/resources/904055929) :-:   圖2 UML示例圖 在圖2中: - 外部類內部的方框用于表示內部類。另外,“外部類A.內部類B”也用于表示內部類。 - 接口和普通類用同一種框圖表示。   本書所使用的UML圖都比較簡單,讀者不必花費大量時間專門學習UML。   這里有必要提醒一下,要閱讀此書,應具有Java基本知識。   另外,本書和《深入理解Android 卷I》(簡稱“卷I”)部分章節有一定聯系,主要集中在Binder和MessageQueue部分。讀者可將“卷I中”這部分內容作為補充閱讀資料來學習。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看