<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網(wǎng)

      掃一掃關(guān)注

      當(dāng)前位置: 首頁 » 企資快報(bào) » 服務(wù) » 正文

      移動端性能優(yōu)化系列—啟動速度

      放大字體  縮小字體 發(fā)布日期:2021-09-05 11:48:50    作者:媒體小英    瀏覽次數(shù):15
      導(dǎo)讀

      移動端性能對用戶體驗(yàn)、留存有著至關(guān)重要的影響,作為開發(fā)者是不是被這樣吐槽過,“這個(gè) APP 怎么這么大?”、“怎么一直在 APP 封面圖轉(zhuǎn)悠,點(diǎn)不進(jìn)去”、“進(jìn)入詳情效果有些卡”、“用 4G 使用你們的 APP,我的流量

      移動端性能對用戶體驗(yàn)、留存有著至關(guān)重要的影響,作為開發(fā)者是不是被這樣吐槽過,“這個(gè) APP 怎么這么大?”、“怎么一直在 APP 封面圖轉(zhuǎn)悠,點(diǎn)不進(jìn)去”、“進(jìn)入詳情效果有些卡”、“用 4G 使用你們的 APP,我的流量有點(diǎn)不夠啊”等等,這些問題都直觀反映出,一個(gè)體驗(yàn)良好的應(yīng)用,只有功能健全還不夠,以下是我在性能優(yōu)化上總結(jié)的幾點(diǎn):

    • 啟動速度優(yōu)化
    • 流暢度優(yōu)化
    • 資源優(yōu)化
    • 內(nèi)存優(yōu)化
    • APK體積優(yōu)化

      今天先聊聊,啟動速度的那些事

      應(yīng)用啟動流程

      冷啟動

      從點(diǎn)擊應(yīng)用圖標(biāo)到UI界面完全顯示且用戶可操作的全部過程。

      特點(diǎn):耗時(shí)最多,衡量標(biāo)準(zhǔn)

      啟動流程:Click Event -> IPC -> Process.start -> ActivityThread -> bindApplication -> LifeCycle -> ViewRootImpl

      熱啟動

      因?yàn)闀囊延械膽?yīng)用進(jìn)程啟動,所以不會再創(chuàng)建和初始化Application,只會重新創(chuàng)建并初始化Activity。

      特點(diǎn):耗時(shí)較少

      啟動流程:LifeCycle -> ViewRootImpl

      因此判斷應(yīng)用啟動速度的的標(biāo)準(zhǔn)是冷啟動的速度,即殺掉應(yīng)用后重新啟動的速度,此項(xiàng)主要是和你的競品對比。

      不應(yīng)在 Application 以及 Activity 的生命周期回調(diào)中做任何費(fèi)時(shí)操作,具體指標(biāo)大概是你在 onCreate,onResume,onStart 等回調(diào)中所花費(fèi)的總時(shí)間最好不要超過 400ms,否則用戶在桌面點(diǎn)擊你的應(yīng)用圖標(biāo)后,將感覺到明顯的卡頓。

      冷啟動分析及優(yōu)化方向

      冷啟動涉及的相關(guān)任務(wù)

      冷啟動之前

      首先,會啟動 App

      然后,加載空白 Window

      最后,創(chuàng)建進(jìn)程

      需要注意的是,這些都是系統(tǒng)的行為,一般情況下我們是無法直接干預(yù)的。

      隨后任務(wù)

      首先,創(chuàng)建 Application

      啟動主線程

      創(chuàng)建 MainActivity

      加載布局

      布置屏幕

      首幀繪制

      通常到了界面首幀繪制完成后,我們就可以認(rèn)為啟動已經(jīng)結(jié)束了。

      下面是官方文檔中的啟動過程流程圖,顯示系統(tǒng)進(jìn)程和應(yīng)用進(jìn)程之間如何交接工作。實(shí)際上對啟動流程的簡要概括。

      優(yōu)化方向

      我們的優(yōu)化方向就是 Application 和 Activity 的生命周期這個(gè)階段,啟動中的系統(tǒng)任務(wù)我們無法干預(yù),能干預(yù)的就是在創(chuàng)建應(yīng)用和創(chuàng)建 Activity 的過程中可能會出現(xiàn)的性能問題。這一過程具體就是:

      Application 的 attachbaseContext

      Application 的 onCreate

      activity 的 onCreate

      activity 的 onStart

      activity 的 onResume

      activity 的 onResume 方法完成后才開始首幀的繪制。所以這些方法中的耗時(shí)操作我們是要極力避免的。 并且,通常情況下,一個(gè)應(yīng)用的主頁的數(shù)據(jù)是需要進(jìn)行網(wǎng)絡(luò)請求的,那么用戶啟動應(yīng)用是希望快速進(jìn)入主頁以及看到主頁數(shù)據(jù),這也是我們計(jì)算啟動結(jié)束時(shí)間的一個(gè)依據(jù)。

      U-APM 在啟動優(yōu)化上的應(yīng)用

      以前使用友盟統(tǒng)計(jì)來分析 App 日活、埋點(diǎn)等數(shù)據(jù),發(fā)現(xiàn)友盟推出的 U-APM ,趕緊來嘗嘗鮮。

      U-APM 是友盟+推出的 App 穩(wěn)定性監(jiān)控、性能監(jiān)控和云真機(jī)測試平臺。通過輕量級的集成接入即可擁有實(shí)時(shí)、可靠、全面的應(yīng)用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動分析等性能能力,支持多場景、多通道智能告警監(jiān)控,幫助開發(fā)者高效還原異常、卡頓用戶的訪問路徑和業(yè)務(wù)現(xiàn)場,縮短故障排查時(shí)間。就啟動分析這項(xiàng)能力來看看,U-APM 都做了什么。

      U-APM 支持啟動趨勢分析、慢啟動分析、啟動崩潰分析。

      啟動趨勢分析

      啟動趨勢較為直觀的展示應(yīng)用啟動耗時(shí)的平均值、分位值、區(qū)間分布等數(shù)據(jù),以及啟動階段的性能分解數(shù)據(jù),也能分析出,多版本迭代后,啟動時(shí)間的分布狀況。

      慢啟動分析

      慢啟動分析,有助于開發(fā)者追根溯源,該功能展示慢啟動情況的占比以及慢啟動設(shè)備列表,您可以在啟動設(shè)置中自定義慢啟動的劃分,默認(rèn)首次啟動/冷啟動超過3秒為慢啟動,熱啟動超過1秒為慢啟動。

      冷啟動階段的慢啟動分析,直觀表現(xiàn)出慢啟動比例以及慢啟動平均耗時(shí)。

      慢啟動分布,直觀表現(xiàn)出,慢啟動分布的設(shè)備、系統(tǒng)、運(yùn)營商、版本、渠道、地域。

      啟動崩潰分析

      歸納啟動階段中出現(xiàn)的崩潰信息,支持劃分首次啟動、冷啟動、熱啟動狀態(tài)下的崩潰,默認(rèn)啟動耗時(shí)上限為8秒,超出時(shí)間的崩潰不被劃分至啟動崩潰。

      這對減少應(yīng)用啟動時(shí)間,提供了巨大幫助,官方已提供Demo

      總結(jié)

      移動端性能優(yōu)化環(huán)環(huán)相扣,啟動時(shí)間優(yōu)化也是較為重要的一個(gè)環(huán)節(jié),U-APM 的出現(xiàn),無疑是開發(fā)者的福利,幫助開發(fā)者及早發(fā)現(xiàn)問題,解決問題,至于 U-APM 其他功能,可以登錄 官方網(wǎng)站 去體驗(yàn)。

      原文鏈接:http://click.aliyun.com/m/1000293112/

      本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

    •  
      (文/媒體小英)
      免責(zé)聲明
      本文僅代表作發(fā)布者:媒體小英個(gè)人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

      粵ICP備16078936號

      微信

      關(guān)注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯(lián)系
      客服

      聯(lián)系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時(shí)間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 精品亚洲成a人无码成a在线观看| 差差漫画页面登录在线看| 欧美性色黄大片www| 日本精品一区二区三区在线视频 | 男人女人做a视频| 明星换脸高清一区二区| 夜间禁用10大b站| 国产一级做美女做受视频| 亚洲欧美日韩天堂在线观看| 众多明星短篇乱淫小说| 久久人妻少妇嫩草av蜜桃| 99久久99这里只有免费费精品| 野狼第一精品社区| 欧美成人一区二区三区 | 欧美性受xxxx白人性爽| 很污的视频网站| 免费能直接在线观看黄的视频 | 理论片在线观看韩影库| 在线观看免费人成视频| 午夜内射中出视频| 久久国产亚洲欧美日韩精品| 香蕉在线视频播放| 最近免费观看高清韩国日本大全| 在线免费不卡视频| 伊人久久大香线蕉影院95| 中文在线视频观看| 香蕉视频网站在线观看| 无码人妻精一区二区三区| 国产成人+综合亚洲+天堂| 亚洲国产精品午夜电影| www.天天操.com| 精品视频香蕉尹人在线| 日本在线高清版卡免v| 国产成人三级经典中文| 久久一日本道色综合久久m| 麻豆精产国品一二三产品区| 欧美一级欧美三级在线观看| 国产高清一区二区三区免费视频| 免费看特黄特黄欧美大片| 中国免费一级片| 精品无码国产污污污免费网站|