android5开机动画耗时,Android 开机速度优化
開(kāi)機(jī)速度經(jīng)常被用來(lái)做為競(jìng)品比較的一個(gè)參數(shù),開(kāi)機(jī)快容易給用戶(hù)一種機(jī)器運(yùn)行較快的錯(cuò)覺(jué)。以致于MTK開(kāi)發(fā)出快速開(kāi)機(jī)的功能,是一個(gè)假關(guān)機(jī)的功能,SystemServer并沒(méi)有掛掉,從而達(dá)到快速開(kāi)機(jī)的功能(大概可在5秒內(nèi)開(kāi)機(jī))。但其還是存在耗電的。
本文著力于Android上開(kāi)機(jī)速度的優(yōu)化。
從開(kāi)機(jī)的流程上來(lái)耗時(shí)較長(zhǎng)的有以下幾點(diǎn):
==preload classes和resource==
所有的Android應(yīng)用程序都是從Zygote進(jìn)程fork出來(lái)的,所以為了共享一些class和resourse資源,Zygote進(jìn)程初始化過(guò)程中,會(huì)預(yù)先加載一些常用的java class和資源文件到進(jìn)程的內(nèi)存中,這樣其他應(yīng)用fork出來(lái)后就不用再次加載了,從而提高了應(yīng)用的啟動(dòng)速度。
這個(gè)過(guò)程是可以精簡(jiǎn)和優(yōu)化的,你可以減少一些classes和resource的加載,也可以啟用多線(xiàn)程來(lái)進(jìn)行加載,從而加快系統(tǒng)的啟動(dòng)速度。
本過(guò)程涉及到的文件
/system/etc/preloaded-classes
frameworks/base/core/res/res/values/arrays.xml
==PMS 加載application==
在systemServer中會(huì)先啟動(dòng)PMS,然后讓其加載應(yīng)用,默認(rèn)會(huì)去搜索system/app/,system/priv-app/,等,會(huì)讀取它的AndroidManifest.xml,獲取信息,還會(huì)判斷其是否有odex優(yōu)化,如果沒(méi)優(yōu)化,會(huì)對(duì)其進(jìn)行優(yōu)化。
這個(gè)過(guò)程也是非常耗時(shí)的,預(yù)裝的apk文件越少,系統(tǒng)啟動(dòng)速度也就越快,因此,精簡(jiǎn)預(yù)裝apk也是優(yōu)化系統(tǒng)啟動(dòng)速度最重要的手段之一。要想減少預(yù)裝的apk文件,則需要分析系統(tǒng)的build文件,將不需要的apk編譯選項(xiàng)刪除掉
==啟動(dòng)相關(guān)service==
Android OS的啟動(dòng)本質(zhì)上就是啟動(dòng)一系列的本地服務(wù)和Java服務(wù),Android系統(tǒng)的所有功能都是通過(guò)這些服務(wù)間接提供的。
這些服務(wù)有很多并不是必須啟動(dòng)的,根據(jù)業(yè)務(wù)需求可以去掉一些,本過(guò)程涉及到的文件:
system/core/rootdir/init.rc
frameworks/base/services/java/com/android/server/SystemServer.java
==Bootanimation 消失==
在所有的service都起來(lái)了之后,會(huì)通知surfaceflinger去關(guān)掉bootanimation.在通知之前會(huì)判斷其是否要顯示壁紙,鎖屏,要等這些需要顯示的應(yīng)用都準(zhǔn)備好了之后才會(huì)通知surfaceflinger關(guān)掉bootanimation.所以可以通過(guò)先把需要顯示的應(yīng)用所涉及的service先進(jìn)行啟動(dòng),如需要等待壁紙,則可先將wallpaperService進(jìn)行systemRunning()。
在SurfaceFlinger去關(guān)掉bootanimation時(shí),可以觀察其是否立即停止。在HiCam的項(xiàng)目中,就發(fā)現(xiàn)在通知停止之后會(huì)等待280ms左右才消失,最后發(fā)現(xiàn)是在停止是會(huì)等待動(dòng)畫(huà)的2幀的時(shí)間才去停止動(dòng)畫(huà)。
PS: 優(yōu)化啟動(dòng)動(dòng)畫(huà),降低幀率和圖片尺寸,也可以達(dá)到優(yōu)化開(kāi)機(jī)速度的效果。
總結(jié)
以上是生活随笔為你收集整理的android5开机动画耗时,Android 开机速度优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端大屏模板分享-可在线浏览
- 下一篇: android sina oauth2.