<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                相信絕大部分讀者對本書提到的ActivityManagerService(以后簡稱AMS)都有所耳聞。AMS是Android中最核心的服務,主要負責系統中四大組件的啟動、切換、調度及應用進程的管理和調度等工作,其職責與操作系統中的進程管理和調度模塊相類似,因此它在Android中非常重要。 AMS是本書碰到的第一塊難啃的骨頭[^①],涉及的知識點較多。為了幫助讀者更好地理解AMS,本章將帶領讀者按五條不同的線來分析它。 - 第一條線:同其他服務一樣,將分析SystemServer中AMS的調用軌跡。 - 第二條線:以am命令啟動一個Activity為例,分析應用進程的創建、Activity的啟動,以及它們和AMS之間的交互等知識。 - 第三條線和第四條線:分別以Broadcast和Service為例,分析AMS中Broadcast和Service的相關處理流程。 - 第五條線:以一個Crash的應用進程為出發點,分析AMS如何打理該應用進程的身后事。 除了這五條線外,還將統一分析在這五條線中頻繁出現的與AMS中應用進程的調度、內存管理等相關的知識。 >[info] **提示**:ContentProvider將放到下一章分析,不過本章將涉及和ContentProvider有關的知識點。 先來看AMS的家族圖譜,如圖6-1所示。 :-: ![](http://img.blog.csdn.net/20150803122537096?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 圖6-1 AMS家族圖譜 由圖6-1可知: - AMS由ActivityManagerNative(以后簡稱AMN)類派生,并實現Watchdog.Monitor和BatteryStatsImpl.BatteryCallback接口。而AMN由Binder派生,實現了IActivityManager接口。 - 客戶端使用ActivityManager類。由于AMS是系統核心服務,很多API不能開放供客戶端使用,所以設計者沒有讓ActivityManager直接加入AMS家族。在ActivityManager類內部通過調用AMN的getDefault函數得到一個ActivityManagerProxy對象,通過它可與AMS通信。 AMS的簡單介紹就到此為止,下面分析AMS。相信不少讀者已經磨拳擦掌,躍躍欲試了。 * * * * * **提示**:讀者們最好在桌上放一杯清茶,以保持AMS分析旅途中頭腦清醒。 * * * * * [^①]: AMS較復雜,其中一個原因是其功能較多,另一個不可忽視的原因是它的代碼質量及結構并不出彩。
                  <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>

                              哎呀哎呀视频在线观看