1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Android中如何實現(xiàn)app啟動優(yōu)化

      這篇文章主要介紹Android中如何實現(xiàn)app啟動優(yōu)化,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

      創(chuàng)新互聯(lián)服務項目包括連云網(wǎng)站建設、連云網(wǎng)站制作、連云網(wǎng)頁制作以及連云網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,連云網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到連云省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

      App 啟動方式

      冷啟動

      App 沒有啟動過或 App 進程被殺,系統(tǒng)中不存在該 App 進程,此時啟動即為冷啟動。需要創(chuàng)建 App 進程,加載相關(guān)資源,啟動 Main Thread,初始化首屏 Activity 等。在這個過程中,屏幕會顯示一個空白的窗口(顏色基于主題),直至首屏 Activity 完全啟動。

      熱啟動

      熱啟動意味著 App 進程只是處于后臺,系統(tǒng)只是將其從后臺帶到前臺展示給用戶。類同與冷啟動,在這個過程中,屏幕會顯示一個空白的窗口(顏色基于主題),直至 activity 渲染完畢。

      溫啟動

      介于冷啟動和熱啟動之間,一般來說在以下兩種情況下發(fā)生:

      • 用戶返回退出了 App,然后又啟動。進程可能還在運行,但是 activity 需要重建。

      • 用戶退出 App 后,系統(tǒng)可能由于內(nèi)存原因?qū)?App 殺死,進程和 activity 都需要重啟,但是可以在 onCreate 中將被動殺死鎖保存的狀態(tài)(saved instance state)恢復。

      啟動時間檢測

      adb

      adb shell am start -W [應用報名]/[Activity的全路徑名],得到三個時間值:

      1、ThisTime

      一般和 TotalTime 相同,如果應用啟動開啟了一個過渡用的全透明頁面預處理一些事情,這樣會比 TotalTime 小。

      2、TotalTime

      應用啟動時間,包括創(chuàng)建進程、Application 初始化、Activity 初始化到顯示。

      3、WaitTime

      一般比 TotalTime 大,包括系統(tǒng)的耗時。

      代碼打點

      Application 的 attachBaseContext 在應用進程首先創(chuàng)建時調(diào)用,可做冷啟動的開始打點。

      優(yōu)化

      1、布局優(yōu)化

      2、邏輯優(yōu)化

      • 必要且耗時的邏輯,考慮單獨開線程執(zhí)行

      • 必要不耗時,按優(yōu)先級高低依次執(zhí)行

      • 非必要的延遲初始化,等用到再初始化

      3、針對冷啟動的欺騙效果

      使用 placeholder UI

      Android 最新的 Material Design 建議使用一個 placeholder UI 來展示給用戶直至 App 加載完畢,類似 iOS 的做法。

      自定義主題,設置 windowBackground 屬性,給 Window 加上背景。

      
        @drawable/logo_splash
      

      先加載一個不渲染布局的 Activity 作為啟動屏

      寫一個什么都不做的 LogoSplashActivity

      public class LogoSplashActivity extends BaseActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
      
          // 這里并沒有 setContentView,單純只是用來跳轉(zhuǎn)到相應的 Activity
          // 目的是減少首屏渲染
          if (AppPref.isFirstRunning(this)) {
            IntroduceActivity.launch(this);
          } else {
            MainActivity.launch(this);
          }
          finish();
        }
      }

      在 AndroidManifest.xml 中設置其為啟動屏,并加上主題

      
        
          
          
        
      

      這樣啟動屏顯示 LogoSplashActivity,本身不渲染布局,顯示主題設置的 placehold UI 背景。

      以上是“Android中如何實現(xiàn)app啟動優(yōu)化”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      分享標題:Android中如何實現(xiàn)app啟動優(yōu)化
      URL地址:http://www.ef60e0e.cn/article/psdidg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        达孜县| 鲁山县| 漯河市| 大方县| 印江| 宝鸡市| 博爱县| 新津县| 新晃| 怀安县| 莒南县| 武城县| 抚顺市| 鄯善县| 会泽县| 当雄县| 巫山县| 山西省| 梅州市| 海盐县| 武威市| 盐城市| 临猗县| 广饶县| 高阳县| 多伦县| 壤塘县| 茌平县| 济南市| 冷水江市| 台安县| 惠东县| 察哈| 万荣县| 浦江县| 阜平县| 托克托县| 漳平市| 卓资县| 潮安县| 宝坻区|