Android 啟動(dòng)優(yōu)化

一、 啟動(dòng)白屏優(yōu)化

解決啟動(dòng)白屏問題
再啟動(dòng)app時(shí)展示一張靜態(tài)圖 贾节,實(shí)現(xiàn)方法是 給splash頁面設(shè)置theme主題 ,主題設(shè)置background 背景圖代替白屏頁,展示完成背景圖和splash之后, 在mainactivity oncreat()之前把系統(tǒng)appTheme設(shè)置回來锡搜。
步驟:
定義閃屏圖
定義閃屏主題
設(shè)置主題
換回主題
1 定義閃屏圖
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" />
<item>
<bitmap
android:gravity="fill"
android:src="@drawable/splash_bg" />
</item>
2 定義splash頁主題
<style name="SplashTheme" parent="Theme.MaterialSheetFab.Base">

<item name="colorPrimary">@color/transparent</item>
<item name="colorPrimaryDark">@color/transparent</item>
<item name="colorAccent">@color/main_color</item>
<item name="android:windowBackground">@drawable/splash</item>
<item name="android:selectableItemBackgroundBorderless" tools:targetApi="lollipop">@null </item>
</style>
</layer-list>
3 是在清單文件中設(shè)置 Theme。
<activity
android:name=".activity.SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:theme="@style/SplashTheme"
android:launchMode="singleTask"
android:screenOrientation="portrait">
4 第四步是在調(diào)用 super.onCreate 方法前切換回來
@Override
public void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_home);
checkNotifyPermisson();
}
二瞧掺、冷啟動(dòng)時(shí)優(yōu)化方法
測(cè)試首屏啟動(dòng)耗時(shí) adb命令
adb 命令 首屏啟動(dòng)時(shí)間測(cè)量
adb shell am start -W com.xxx.xxx(包名)/com.xxx.xxx.activity.SplashActivity(splash頁全路徑)

優(yōu)化方法 大致思路1 把需要啟動(dòng)的第三方sdk init代碼放在子線程或者intentservice 中異步初始化 耕餐,同時(shí)還要保證在用到第三方sdk方法時(shí)sdk已經(jīng)初始化完成 不影響方法使用
思路2 延遲第三方初始化 handler.postdelay() 進(jìn)行延遲,但是延遲時(shí)間不好確定
優(yōu)化方法按照思路1 利用第三方庫LaunchStarter進(jìn)行初始化sdk
public class MyApplication extends Application {

private static final String TAG = "MyApplication";

@Override
public void onCreate() {
    super.onCreate();
    
    TaskDispatcher.init(getBaseContext());
    TaskDispatcher taskDispatcher = TaskDispatcher.createInstance();

    // task2依賴task1辟狈;
    // task3未完成時(shí)taskDispatcher.await()處需要等待肠缔;
    // test4在主線程執(zhí)行
    //每個(gè)任務(wù)都耗時(shí)一秒
    Task1 task1 = new Task1();
    Task2 task2 = new Task2();
    Task3 task3 = new Task3();
    Task4 task4Main = new Task4();

    taskDispatcher.addTask(task1);
    taskDispatcher.addTask(task2);
    taskDispatcher.addTask(task3);
    taskDispatcher.addTask(task4Main);

    Log.i(TAG, "onCreate: taskDispatcher.start()");
    taskDispatcher.start();//開始

    taskDispatcher.await();//等task3完成后才會(huì)往下走
    Log.i(TAG, "onCreate: end.");
}

作者:胡飛洋
鏈接:https://juejin.cn/post/6854573215474253838
來源:掘金
著作權(quán)歸作者所有夏跷。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處明未。

參考:https://juejin.cn/post/6844903919580086280
啟動(dòng)器 https://github.com/zeshaoaaa/LaunchStarter

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末槽华,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子趟妥,更是在濱河造成了極大的恐慌猫态,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件披摄,死亡現(xiàn)場(chǎng)離奇詭異亲雪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)疚膊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門义辕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寓盗,你說我怎么就攤上這事灌砖。” “怎么了贞让?”我有些...
    開封第一講書人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵周崭,是天一觀的道長。 經(jīng)常有香客問我喳张,道長续镇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任销部,我火速辦了婚禮摸航,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舅桩。我一直安慰自己酱虎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開白布擂涛。 她就那樣靜靜地躺著读串,像睡著了一般。 火紅的嫁衣襯著肌膚如雪撒妈。 梳的紋絲不亂的頭發(fā)上恢暖,一...
    開封第一講書人閱讀 51,610評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音狰右,去河邊找鬼杰捂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛棋蚌,可吹牛的內(nèi)容都是我干的嫁佳。 我是一名探鬼主播挨队,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蒿往!你這毒婦竟也來了盛垦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瓤漏,失蹤者是張志新(化名)和其女友劉穎情臭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赌蔑,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俯在,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了娃惯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跷乐。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖趾浅,靈堂內(nèi)的尸體忽然破棺而出愕提,到底是詐尸還是另有隱情,我是刑警寧澤皿哨,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布浅侨,位于F島的核電站,受9級(jí)特大地震影響证膨,放射性物質(zhì)發(fā)生泄漏如输。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一央勒、第九天 我趴在偏房一處隱蔽的房頂上張望不见。 院中可真熱鬧,春花似錦崔步、人聲如沸稳吮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灶似。三九已至,卻和暖如春瑞你,著一層夾襖步出監(jiān)牢的瞬間酪惭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來泰國打工捏悬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撞蚕,地道東北人润梯。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓过牙,卻偏偏與公主長得像甥厦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寇钉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容