欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何提升App啟動速度

這篇文章主要為大家展示了“如何提升App啟動速度”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“如何提升App啟動速度”這篇文章吧。

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出樺甸免費做網(wǎng)站回饋大家。

1, 欲善其事, 先利其器

使用Traceview來分析我們的啟動過程。

1.1 Traceview介紹

Traceview是一個性能分析工具, 主要是分析當前線程情況, 各個方法執(zhí)行時間等。如下:

如何提升App啟動速度

指標說明:

Incl(Inclusive) Cpu Time

方法本身和其調(diào)用的所有子方法占用CPU時間.

Excl(Exclusive) Cpu Time

方法本身占用CPU時間。

Incl Real Time

方法(包含子方法)開始到結(jié)束用時。

Excl Real Time

方法本身開始到結(jié)束用時。

Call + Recursion Calls/Total

方法被調(diào)用次數(shù) + 方法被遞歸調(diào)用次數(shù)。

Cpu Time/Call

方法調(diào)用一次占用CPU時間。

Real Time/Call

方法調(diào)用一次實際執(zhí)行時間。

一般來說, 我們使用Real Time/Call排序來找出耗時多的方法

有必要解釋下CPU Time和Real Time:

  • CPU Time 方法實際執(zhí)行時間(不包括io等待時間)

  • Real Time 方法開始結(jié)束時間差(包括等待時間)

參考:http://stackoverflow.com/questions/15760447/what-is-the-meaning-of-incl-cpu-time-excl-cpu-time-incl-real-cpu-time-excl-re/17902682#17902682

1.2 Traceview使用

有兩種方式來使用Traceview:

a, 通過DDMS:

如何提升App啟動速度

點擊開始時會彈出一個選擇trace模式的框, 默認選中”Sample based profiling”即可:

如何提升App啟動速度

Sample based profiling(基于樣本分析)

根據(jù)采樣時間間隔來規(guī)律的打斷VM來記錄方法調(diào)用棧(Call Stack), 開銷和采樣頻率成比例。

Trace based profiling(基于完整trace數(shù)據(jù)分析)

記錄每個方法的出入口, 每個方法執(zhí)行時都開啟記錄, 無論多小的方法, 因此開銷很大。

b, 使用代碼:

// 在自己想要開始調(diào)試的地方start Debug.startMethodTracing("GithubApp"); // 在合適的地方stop Debug.stopMethodTracing();

注: 以上方法開啟trace的方式相當于”Trace based profiling”, 會記錄每個方法的執(zhí)行. Android  4.4及以上可以調(diào)用startMethodTracingSampling()來用代碼開啟”Sample based  profiling”的trace方式。

2, App啟動流程分析

  • 要想優(yōu)化App啟動流程, 必先了解其啟動過程。

  • 具體過程請參看這篇譯文: Android Application啟動流程分析。

3, App啟動方式

通常來說, 一個App啟動也會分如下三中不同的狀態(tài):

冷啟動

  • App沒有啟動過或App進程被killed, 系統(tǒng)中不存在該App進程, 此時啟動App即為冷啟動。

  • 冷啟動的流程即為第2節(jié)所描述的App啟動流程的全過程, 需要創(chuàng)建App進程, 加載相關(guān)資源, 啟動Main Thread,  初始化首屏Activity等。

  • 在這個過程中, 屏幕會顯示一個空白的窗口(顏色基于主題), 直至首屏Activity完全啟動。

下圖展示了冷啟動的時間線:

如何提升App啟動速度

熱啟動

  • 熱啟動意味著你的App進程只是處于后臺, 系統(tǒng)只是將其從后臺帶到前臺, 展示給用戶。

  • 類同與冷啟動, 在這個過程中, 屏幕會顯示一個空白的窗口(顏色基于主題), 直至activity渲染完畢。

溫啟動

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

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

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

通過三種啟動狀態(tài)的相關(guān)描述, 可以看出我們要做的啟動優(yōu)化其實就是針對冷啟動. 熱啟動和溫啟動都相對較快。

4, 哪些地方是App快速啟動的敵人

根據(jù)冷啟動的時間圖, 可以看出, 對于App來說, 我們可以控制的啟動時間線的點無外乎:

  • Application的onCreate

  • 首屏Activity的渲染

而我們現(xiàn)在的App動不動集成了很多第三方服務(wù), 啟動時需要檢查廣告,  注冊狀態(tài)等等一系列接口都是在Application的onCreate或是首屏的onCreate中做的。

  • 很多第三方平臺的SDK文檔也都是這么建議的。

以上是“如何提升App啟動速度”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當前名稱:如何提升App啟動速度
當前地址:http://aaarwkj.com/article2/jesooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化、網(wǎng)站收錄、面包屑導(dǎo)航、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
日本国产一区二区三区在线观看| 国产精品毛片在线看不卡| 成人黄色av免费在线观看| 91精品国产高清一区二区性色| 亚洲中文字幕av每天更新| 国产一区二区欧美精品| 亚洲人妖视频在线观看| 日韩一区中文字幕久久| 欧美一区二区三区va| 极品少妇一级人妻av| 亚洲美女毛茸茸的逼逼| 亚洲成人免费电影观看| 成人免费大片在线观看视频| 国产三级三级三级精品8ⅰ区| 国产精品欧美日韩高清| 日韩亚洲一区二区免费| 亚洲精品日韩一区二区| 少妇精品偷拍高潮少妇在线观看| 丝袜美腿精尽福利视频网址大全| 亚洲午夜一区二区精品 | 久草亚洲一区二区三区av| 99热精品免费在线观看| 亚洲国产黄色美女视频| 欧美视频在线免费观看黄片| 久久视热频这里只有精品| 国产三级国产精品三级| 国产精品人成在线观看不卡| 一区不卡在线视频免费国产| 日本在线人妻中文字幕| 日本一本一道高清不卡视频 | 中文字幕四虎在线观看| 在线免费观看国产黄色av| 日日躁夜夜躁久久狠狠躁| 日韩福利成人av在线| 国产激情视频一区二区三区| 国产成人综合久久三区北岛玲| 久久热福利视频就在这里| 成人黄色大片免费看| 日韩电影一区二区在线观看中文字幕| 欧美日韩一区精品视频| 日韩在线啊啊啊的视频|