日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

app启动速度优化实践

發(fā)布時(shí)間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 app启动速度优化实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

外鏈:http://2d7eb962.wiz03.com/share/s/0JvHBy3NOASk2pFO7C39hO7i0ulHDJ32D4KW2AZQuK1p0cxF

延遲初始化

基于application第三方sdk初始化直接影響app啟動(dòng)速度,對(duì)這部分代碼進(jìn)行延遲執(zhí)行處理;
使用Runnable保存相關(guān)初始化代碼,并將這些Runnable保存到application中的LinkedBlockQueue隊(duì)列;
在首屏界面(SplashActivity),通過(guò)DecorView去post隊(duì)列中的Runnable,這樣就不存在多線程可能導(dǎo)致的問(wèn)題,同時(shí)也完成了延遲初始化的要求

啟動(dòng)速度數(shù)據(jù)

以adb shell am start -W -S中的totalTime為標(biāo)準(zhǔn),啟動(dòng)首屏為SplashActivity

  • WaitTime 就是總的耗時(shí),包括前一個(gè)應(yīng)用 Activity pause 的時(shí)間和新應(yīng)用啟動(dòng)的時(shí)間;

  • ThisTime 表示一連串啟動(dòng) Activity 的最后一個(gè) Activity 的啟動(dòng)耗時(shí);

  • TotalTime 表示新應(yīng)用啟動(dòng)的耗時(shí),包括新進(jìn)程的啟動(dòng)和 Activity 的啟動(dòng),但不包括前一個(gè)應(yīng)用 Activity pause 的耗時(shí)。

相關(guān)可以參考這篇文章
Android中如何計(jì)算App的啟動(dòng)時(shí)間?

啟速取10次數(shù)據(jù),去除最大和最小之后的平均值

20190225

指令運(yùn)行后,時(shí)間一出來(lái)立即運(yùn)行下一條指令

360n7lite

4+32 360uiV114 Android8.1

優(yōu)化前 1427 1431 1438 1440 1441 1450 1452 1453 1460 1460 = 1445.625

優(yōu)化后 811 815 815 830 830 830 830 830 831 862 = 826.375

優(yōu)化前 1435 1435 1438 1454 1456 1457 1478 1480 1494 1513 = 1461.5

優(yōu)化后 797 813 814 829 829 830 832 833 847 847 = 828.375

小米6

6+128 miui109.1.24開(kāi)發(fā) Android8.0

優(yōu)化前 1757 1772 1782 1782 1799 1801 1804 1817 1849 1863 = 1800.75

優(yōu)化后 706 709 709 712 713 714 716 722 754 759 = 718.625

優(yōu)化前 1383 1716 1736 1742 1764 1782 1795 1817 2053 2124 = 1800.625

優(yōu)化后 717 722 722 725 725 726 742 744 770 798 = 734.5

華為nova3

6+64 emui8.2 Android8.1

優(yōu)化前 1076 1078 1084 1085 1089 1092 1095 1097 1098 1098 = 1089.75

優(yōu)化后 615 617 619 622 628 629 630 635 637 640 = 627.125

優(yōu)化前 1029 1051 1064 1073 1074 1080 1082 1086 1090 1092 = 1075

優(yōu)化后 624 629 631 635 636 638 643 644 644 649 = 637.5

努比亞Z9MAX

2+16 nubia 5.0 Android5.1.1

優(yōu)化前 1982 2056 2103 2124 2124 2131 2140 2151 2199 2270 = 2128.5

優(yōu)化后 1567 1572 1576 1597 1613 1651 1659 1715 1718 1753 = 1637.625

優(yōu)化前 2151 2180 2206 2219 2256 2273 2282 2332 2333 3416 = 2260.125

優(yōu)化后 1514 1637 1648 1665 1668 1674 1688 1707 2735 3126 = 1802.75

華為榮耀9i

4+64 emui8.0 Android8.0

優(yōu)化前 2055 2062 2064 2064 2065 2067 2075 2079 2087 3023 = 2070.375

優(yōu)化后 1285 1288 1293 1303 1304 1304 1307 1324 1331 1332 = 1306.75

優(yōu)化前 2067 2068 2074 2083 2088 2096 2099 2107 2117 2119 = 2091.5

優(yōu)化后 1310 1312 1319 1322 1339 1340 1347 1349 1648 1664 = 1372

20190226

今天想測(cè)試下小米4C的啟動(dòng)速度數(shù)據(jù),發(fā)現(xiàn)前一天的測(cè)試操作有點(diǎn)問(wèn)題,部分手機(jī)的啟動(dòng)速度波動(dòng)較大,所以今天的測(cè)試方式是在跳轉(zhuǎn)MainActivity后再運(yùn)行下一條指令,后面27號(hào)再按照這種方式重新測(cè)試一下

小米4C

3+16 MIUI10.1.1.0 Android6.0.1

3432 3436 3468 3493 3583 3645 3658 3764 3788 4010 = 3604.375

1642 1717 1729 1733 1758 1773 1777 1794 1808 1809 = 1761.125

3376 3404 3572 3573 3576 3577 3590 3654 3656 3688 = 3575.25

1648 1703 1709 1720 1727 1732 1760 1765 1776 1810 = 1736.5

延遲加載.so庫(kù)

未實(shí)現(xiàn)

總結(jié)

以上是生活随笔為你收集整理的app启动速度优化实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。