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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Android開機速度慢這一現象一直受人詬病,Google好像也沒有要做這方面優化的意向,那么,在實際工作中又在哪些地方可以做一些優化呢?根據我目前所掌握的資料分析,有三個地方耗時比較長: * ZygoteInit的main函數中preloadClasses加載的那一千多個類。 * 開機啟動時,會對系統內所有的apk文件掃描并收集信息,這個動作耗費的時間非常長。 * SystemServer創建的那些Service,會占用不少時間。 我們這里討論第一個問題,如何減少preloadClasses的時間呢?其實,這個函數是可以去掉的,因為系統最終還是會在使用這些類時去加載,但這樣就破壞了Android采用fork機制來創建Java進程的本意,而fork機制的好處則是顯而易見的: * Zygote預加載的這些class,在fork子進程時,僅需做一個復制即可。這樣就節約了子進程的啟動時間。 * 根據fork的copy-on-write機制,有些類如果不做改變,甚至連復制都不用,它們會直接和父進程共享數據。這樣就會省去不少內存的占用。 開機速度優化是一項比較復雜的研究,目前有人使用Berkeley Lab Checkpoint/Restart(BLCR)技術來提升開機速度。這一技術的構想其實挺簡單,就是對當前系統做一個快照,保存到一個文件中,當系統重啟時,直接根據文件的快照信息來恢復重啟之前的狀態。當然想法很簡單,實現卻是很復雜的,這里,我們對此不做進一步的討論了,讀者可自行展開深入的思考和研究。 * * * * * 我在VMWare虛擬機上使用過類似的技術,它叫Snapshort。開機速度的問題我更希望Google自己能加以重視并推動它的解決。 * * * * *
                  <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>

                              哎呀哎呀视频在线观看