Android啟動頁優化之實現應用秒開
Android 應用冷啟動時,需要從Application開始啟動,加載時間就會比較長,這段時間裡,用戶所能看到的就是”白屏“(這是因為默認的AppTheme的 android:windowBackground 默認是設置成白色的),因此我認為真正的啟動頁就應該是讓用戶點開應用時看到的不是”白屏“,而是我們創建的一個頁面,可以是一張圖片、一段文字。
這樣,不明真相的用戶直觀感覺到的就是,這個應用可以秒開。
1.首先在 drawable 目錄下新建一個 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 標簽創建一個圖層列表,實際就是一個 LayerDrawable ,設置一個背景,然後放上應用圖標,這是我想展示的啟動頁,可以根據自己的需要自行定義。
2.然後在 style.xml 文件中定義一個 SplashTheme
<resources> ... <style name="SplashTheme" parent="AppTheme"> <item name="android:windowBackground">@drawable/splash_screen</item> </style> </resources>
這裡隻需要將窗口背景設置為我們剛才定義的 LayerDrawable。
3.然後需要在 AndroidMenifest.xml 文件中將我們的主頁面,我這裡是 MainActivity 的 android:theme 設置成我們定義的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>
是不是很簡單這樣就可以瞭
以上就是Android啟動頁優化之實現應用秒開的詳細內容,更多關於Android 實現應用秒開的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- idea下Android各目錄所代表的含義介紹
- Android進程間使用Intent進行通信
- BroadcastReceiver靜態註冊案例詳解
- Android四大組件之廣播BroadcastReceiver詳解
- Android中Intent組件的入門學習心得