啟動優(yōu)化岖食,讓APP秒開
優(yōu)化Application
從用戶點擊launcher圖標到看到界面第一幀為應(yīng)用啟動過程,主要會經(jīng)過以下這些方法:
main()->Application:attachBaseContext()->onCreate()->Activity:onCreate()->onStart()->onResume()
main->Activity創(chuàng)建的這個過程會經(jīng)過一系列framework層的操作慎式,對于系統(tǒng)自動執(zhí)行的操作我們不易進行優(yōu)化池摧,但是,如果我們繼承Application自定義了自己的Application尽楔,可以做如下優(yōu)化:
1.盡量不將一些業(yè)務(wù)邏輯放于Application中持钉;
2.不以靜態(tài)變量的方式在Application中保存應(yīng)用數(shù)據(jù)衡招;
3.不要把文件、數(shù)據(jù)庫的操作放在Application
優(yōu)化啟動頁Activity
啟動頁盡量不要網(wǎng)絡(luò)請求等耗時操作每强。如果使用了請求網(wǎng)絡(luò)等操作在適當?shù)臅r候應(yīng)該及時取消的耗時操作始腾。例如,某些時候空执,當用戶點擊了launcher圖標浪箭,但馬上又想退出點擊了返回鍵,過了幾秒鐘用戶在使用其他APP辨绊,突然跳轉(zhuǎn)到我們的APP那就用戶體驗感很不好了奶栖。所以可以在返回事件中取消掉耗時操作
@Override
public voidonBackPressed() {
super.onBackPressed();
....//在這里取消的耗時操作
}
或者也可以流氓一些,直接在啟動頁Activity重寫onKeyDown()方法门坷,首先判斷用戶按下的是否是返回按鍵宣鄙,若是的話則直接返回true,這樣就屏蔽了返回按鍵的后續(xù)執(zhí)行邏輯達到了禁止用戶返回操作的目的拜鹤,看代碼
@OverridepublicbooleanonKeyDown(intkeyCode, KeyEvent event){if(keyCode == KeyEvent.KEYCODE_BACK) {returntrue;? ? ? }returnsuper.onKeyDown(keyCode, event); }
就醬框冀,大家有更好的優(yōu)化技巧歡迎留言交流學(xué)習(xí)流椒。