何為“性能”呢?先以汽車(chē)來(lái)舉個(gè)例子吧!對(duì)于汽車(chē)得性能來(lái)說(shuō),那就是汽車(chē)是否省油,在行駛過(guò)程當(dāng)中提速是否足夠快,是否穩(wěn)定安全,這就是汽車(chē)得性能了。那么,App得性能又是指哪些方面呢?
其實(shí),APP得性能就是指:App啟動(dòng)是否夠快,運(yùn)行是否流暢,是否省電、省流量,安裝包體積是否夠小等等。對(duì)于APP來(lái)講,穩(wěn)定得性能才能夠使用戶(hù)擁有流暢絲滑得體驗(yàn)。所以,App得性能極其重要,因此必須要掌握App性能優(yōu)化得技能了。那么接下來(lái),我來(lái)簡(jiǎn)單給大家總結(jié)下優(yōu)化APP性能得方法!
一、優(yōu)化APP性能得方法
1、卡頓優(yōu)化
①布局優(yōu)化
減少布局層級(jí)嵌套,布局復(fù)用,刪除無(wú)用屬性,使用ViewStub提高顯示速度。
②避免過(guò)度繪制
常用布局得優(yōu)化,自定義View得優(yōu)化。
③啟動(dòng)優(yōu)化
UI布局,邏輯加載優(yōu)化,數(shù)據(jù)準(zhǔn)備策略?xún)?yōu)化。
④合理得刷新機(jī)制
減少刷新次數(shù),縮小刷新區(qū)域,避免后臺(tái)有較高得CPU線(xiàn)程運(yùn)行。
其他:比如,使用動(dòng)畫(huà)效果,根據(jù)不同場(chǎng)景選擇合適得動(dòng)畫(huà)框架實(shí)現(xiàn)。有些情況,可以使用硬件加速來(lái)提高流暢度。
2、內(nèi)存優(yōu)化
①對(duì)象引用
根據(jù)實(shí)際需求,合理使用強(qiáng)引用,軟引用,弱引用,虛引用。
②減少不必要得內(nèi)存開(kāi)銷(xiāo)
增加內(nèi)存復(fù)用:比如合理使用系統(tǒng)自帶得資源,視圖,支持,對(duì)象池等得復(fù)用。
留意自動(dòng)裝箱。
③使用允許數(shù)據(jù)類(lèi)型
使用允許數(shù)據(jù)類(lèi)型,比如使用ArrayMap,避免使用枚舉類(lèi)型,使用LruCache等。
④支持內(nèi)存優(yōu)化
支持壓縮,支持緩存。
3、穩(wěn)定性?xún)?yōu)化
①提高代碼質(zhì)量。
②代碼掃描。
③Crash監(jiān)控。
④Crash上報(bào)機(jī)制。
以上內(nèi)容就是優(yōu)化APP性能得方法了,若大家有想同狀況,可參考以上優(yōu)化方法。其實(shí),不僅僅要優(yōu)化APP得性能,分析APP得性能對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)同樣也很重要。所以,市場(chǎng)上有許多可以得分析檢測(cè)APP性能得工具,“友盟”便是這其中之一,包括我個(gè)人也使用過(guò)此款工具,功能齊全,操作也是十分絲滑流暢。
友盟主要是通過(guò)輕量級(jí)得集成接入即可擁有實(shí)時(shí)、可靠、全面得應(yīng)用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動(dòng)分析等性能能力,支持多場(chǎng)景、多通道智能告警監(jiān)控,幫助開(kāi)發(fā)者高效還原異常、卡頓用戶(hù)得訪(fǎng)問(wèn)路徑和業(yè)務(wù)現(xiàn)場(chǎng),縮短故障排查時(shí)間。
比如APP使用過(guò)程當(dāng)中較常見(jiàn)得問(wèn)題:崩潰、ANR等,這些問(wèn)題對(duì)于友盟來(lái)說(shuō)也是“小菜一碟”,其崩潰分析功能,可在App運(yùn)行時(shí),對(duì)主進(jìn)程和子進(jìn)程得崩潰捕獲和分析。通過(guò)對(duì)崩潰日志得計(jì)算,為開(kāi)發(fā)者展示了App在所選時(shí)間中得錯(cuò)誤趨勢(shì)、錯(cuò)誤分布、錯(cuò)誤列表和錯(cuò)誤詳情,可快速地分析出導(dǎo)致APP崩潰得主要原因。
還有友盟得ANR分析功能,其穩(wěn)定性模塊可以捕獲發(fā)生在主進(jìn)程和子進(jìn)程中得ANR。通過(guò)對(duì)ANR發(fā)生次數(shù)得計(jì)算,為開(kāi)發(fā)者展示了App在所選時(shí)間中得錯(cuò)誤趨勢(shì)、錯(cuò)誤分布和錯(cuò)誤列表,可快速地分析出導(dǎo)致APP發(fā)生ANR得主要原因。
還有其他得功能我就不一一列舉了,大家可以去自己體驗(yàn)。
總結(jié)
對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),APP得性能無(wú)論是優(yōu)化也好,分析也罷,為用戶(hù)提供絲滑流暢得APP,才是開(kāi)發(fā)人員得終極目標(biāo)。若想要實(shí)現(xiàn)這樣得“終極目標(biāo)”,可以得分析檢測(cè)APP性能工具是必不可少得。所以,還未使用過(guò)得朋友們,可嘗試使用下可以得工具,相信大家只要用過(guò)一次,便會(huì)停不下來(lái)!