Android啟動(dòng)頁(yè)優(yōu)化之實(shí)現(xiàn)應(yīng)用秒開(kāi)
Android 應(yīng)用冷啟動(dòng)時(shí),需要從Application開(kāi)始啟動(dòng),加載時(shí)間就會(huì)比較長(zhǎng),這段時(shí)間里,用戶所能看到的就是”白屏“(這是因?yàn)槟J(rèn)的AppTheme的 android:windowBackground 默認(rèn)是設(shè)置成白色的),因此我認(rèn)為真正的啟動(dòng)頁(yè)就應(yīng)該是讓用戶點(diǎn)開(kāi)應(yīng)用時(shí)看到的不是”白屏“,而是我們創(chuàng)建的一個(gè)頁(yè)面,可以是一張圖片、一段文字。
這樣,不明真相的用戶直觀感覺(jué)到的就是,這個(gè)應(yīng)用可以秒開(kāi)。
1.首先在 drawable 目錄下新建一個(gè) splash_screen.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<item android:drawable="@color/colorPrimary"/>
<item>
<bitmap android:src="@drawable/ic_logo"
android:gravity="center"/>
</item>
</layer-list>
我們使用 layer-list 標(biāo)簽創(chuàng)建一個(gè)圖層列表,實(shí)際就是一個(gè) LayerDrawable ,設(shè)置一個(gè)背景,然后放上應(yīng)用圖標(biāo),這是我想展示的啟動(dòng)頁(yè),可以根據(jù)自己的需要自行定義。
2.然后在 style.xml 文件中定義一個(gè) SplashTheme
<resources>
...
<style name="SplashTheme" parent="AppTheme">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
</resources>
這里只需要將窗口背景設(shè)置為我們剛才定義的 LayerDrawable。
3.然后需要在 AndroidMenifest.xml 文件中將我們的主頁(yè)面,我這里是 MainActivity 的 android:theme 設(shè)置成我們定義的SplashTheme
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
...
>
...
<application
...
>
<activity
android:name=".activity.MainActivity"
android:launchMode="singleTask"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
</application>
</manifest>
是不是很簡(jiǎn)單這樣就可以了
以上就是Android啟動(dòng)頁(yè)優(yōu)化之實(shí)現(xiàn)應(yīng)用秒開(kāi)的詳細(xì)內(nèi)容,更多關(guān)于Android 實(shí)現(xiàn)應(yīng)用秒開(kāi)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于Android-Skin-Loader實(shí)現(xiàn)換膚效果
這篇文章主要為大家詳細(xì)介紹了基于Android-Skin-Loader實(shí)現(xiàn)換膚效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
Android AlertDialog多種創(chuàng)建方式案例詳解
這篇文章主要介紹了Android AlertDialog多種創(chuàng)建方式案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Android實(shí)現(xiàn)帶有指示器的自定義底部導(dǎo)航欄
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)帶有指示器的自定義底部導(dǎo)航欄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Android編程實(shí)用技術(shù)小結(jié)
這篇文章主要介紹了Android編程實(shí)用技術(shù),實(shí)例匯總了開(kāi)機(jī)啟動(dòng)receiver、service使用、AlarmManager發(fā)送廣播及停止AlarmManager等相關(guān)技巧,需要的朋友可以參考下2016-01-01
Android獲取ROOT權(quán)限的實(shí)例代碼
這篇文章主要介紹了Android如何獲取ROOT權(quán)限,寫了一個(gè)小方法,大家可以在應(yīng)用中檢測(cè)ROOT權(quán)限2013-11-11
詳解Android中的NestedScrolling機(jī)制帶你玩轉(zhuǎn)嵌套滑動(dòng)
這篇文章主要給大家詳細(xì)解析了Android中的NestedScrolling機(jī)制,通過(guò)介紹該機(jī)制帶你玩轉(zhuǎn)Android中的嵌套滑動(dòng)效果,文中給出了詳細(xì)的示例代碼和介紹,需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-05-05
Android中自定義ScrollView代碼實(shí)例
這篇文章主要介紹了Android中自定義ScrollView代碼實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05
用于cocos2d-x引擎(ndk)中為android項(xiàng)目生成編譯文件列表
在android的ndk項(xiàng)目中,添加很多源文件之后總要手動(dòng)編寫makefile來(lái)添加所有的源文件, 很麻煩,所以寫了一個(gè)自動(dòng)生成編譯源文件列表的小工具2014-05-05
Android攔截并獲取WebView內(nèi)部POST請(qǐng)求參數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Android攔截并獲取WebView內(nèi)部POST請(qǐng)求參數(shù) 的實(shí)現(xiàn)方法,本文通過(guò)兩種方案給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04

