自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

App啟動(dòng)優(yōu)化更優(yōu)實(shí)踐

移動(dòng)開發(fā) Android
做Android開發(fā),一定寫給過啟動(dòng)頁,在這里做一些初始化的操作,還有就是顯示推廣信息。很普通的一個(gè)頁面,以前測(cè)試也給我提出過bug,應(yīng)用在啟動(dòng)的時(shí)候,有時(shí)候有白屏/黑屏。當(dāng)時(shí)能做的就是盡量較少耗時(shí)操作,上面醫(yī)生的文章里也有提到,但是通過主題的方式優(yōu)化這個(gè)問題之前還真是不知道的。

[[182475]]

做Android開發(fā),一定寫給過啟動(dòng)頁,在這里做一些初始化的操作,還有就是顯示推廣信息。

很普通的一個(gè)頁面,以前測(cè)試也給我提出過bug,應(yīng)用在啟動(dòng)的時(shí)候,有時(shí)候有白屏/黑屏。當(dāng)時(shí)能做的就是盡量較少耗時(shí)操作,上面醫(yī)生的文章里也有提到,但是通過主題的方式優(yōu)化這個(gè)問題之前還真是不知道的。

下面主要總結(jié)一下通過主題的方式優(yōu)化啟動(dòng)頁(醫(yī)生還提到了在子線程初始化和使用IntentService初始化,都是屬于異步初始化,還有延遲初始化,就不說了)

通過修改主題優(yōu)化啟動(dòng)時(shí)白屏/黑屏

原理請(qǐng)移步到醫(yī)生的文章,我就不復(fù)述了,之所以會(huì)看到白屏或者黑屏,是和我們的主題有關(guān)系的,因?yàn)橄到y(tǒng)默認(rèn)使用的主題,背景色就是白色/黑色。那么我們自定義一個(gè)主題,讓默認(rèn)的樣式就是我們想要的,就優(yōu)化了白屏/黑屏的問題。

首先,我們自定義一個(gè)主題,設(shè)置一個(gè)我們想要的背景

  1. <!-- 啟動(dòng)頁主題 --> 
  2. <style name="SplashTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"
  3.     <item name="android:windowBackground">@drawable/start_window</item> 
  4. </style> 

 

自定義背景start_window.xml

  1. <layer-list xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:opacity="opaque"
  3.     <!-- The background color, preferably the same as your normal theme --> 
  4.     <item android:drawable="@android:color/holo_blue_dark" /> 
  5.     <!-- Your product logo - 144dp color version of your app icon --> 
  6.     <item> 
  7.         <bitmap 
  8.             android:gravity="center" 
  9.             android:src="@mipmap/ic_launcher" /> 
  10.     </item> 
  11. </layer-list> 

 

***,在清單文件設(shè)置啟動(dòng)頁使用我們自定義的主題

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     package="com.bitmain.launchtimedemo"
  4.  
  5.     <application 
  6.         android:allowBackup="true" 
  7.         android:icon="@mipmap/ic_launcher" 
  8.         android:label="@string/app_name" 
  9.         android:supportsRtl="true" 
  10.         android:theme="@style/AppTheme"
  11.         <!-- 啟動(dòng)頁 --> 
  12.         <activity 
  13.             android:name=".SplashActivity" 
  14.             android:theme="@style/SplashTheme"
  15.             <intent-filter> 
  16.                 <action android:name="android.intent.action.MAIN" /> 
  17.  
  18.                 <category android:name="android.intent.category.LAUNCHER" /> 
  19.             </intent-filter> 
  20.         </activity> 
  21.         <!-- 主頁 --> 
  22.         <activity android:name=".MainActivity" /> 
  23.     </application> 
  24.  
  25. </manifest> 

 

到此大功告成,為了體現(xiàn)出效果,在啟動(dòng)頁加載之前,我們模擬一個(gè)白屏/黑屏的延時(shí)操作

  1.  public class SplashActivity extends AppCompatActivity { 
  2.     @Override 
  3.     protected void onCreate(Bundle savedInstanceState) { 
  4.         super.onCreate(savedInstanceState); 
  5.         // 模擬系統(tǒng)初始化  白屏、黑屏 
  6.         SystemClock.sleep(1000); 
  7.         setContentView(R.layout.activity_splash); 
  8.         // 啟動(dòng)后 停留2秒進(jìn)入到主頁面 
  9.         new Handler().postDelayed(new Runnable() { 
  10.             @Override 
  11.             public void run() { 
  12.                 Intent intent = new Intent(SplashActivity.this, MainActivity.class); 
  13.                 startActivity(intent); 
  14.                 finish(); 
  15.             } 
  16.         }, 2000); 
  17.     } 
  18. }  

 

責(zé)任編輯:龐桂玉 來源: Android開發(fā)中文站
相關(guān)推薦

2016-11-08 19:43:58

Android

2021-11-23 10:25:35

性能優(yōu)化iOS App 啟動(dòng)優(yōu)化

2017-05-17 15:50:34

開發(fā)前端react

2016-08-23 10:50:50

WebJavascript緩存

2022-03-29 13:27:22

Android優(yōu)化APP

2018-09-29 15:59:18

APPiOS優(yōu)化

2024-12-03 11:12:47

2017-04-06 09:56:52

大數(shù)據(jù)數(shù)據(jù)結(jié)轉(zhuǎn)技術(shù)架構(gòu)

2021-09-02 10:10:59

技術(shù)VS Code實(shí)踐

2022-06-10 15:37:24

愛奇藝App網(wǎng)絡(luò)

2017-06-02 10:25:26

Java異常處理

2022-03-02 10:58:33

系統(tǒng)優(yōu)化實(shí)踐

2020-02-12 08:50:05

Linux命令啟動(dòng)時(shí)間

2010-05-27 16:31:15

LTE無線通信

2017-01-12 13:26:38

大數(shù)據(jù)深度學(xué)習(xí)大數(shù)據(jù)技術(shù)

2017-05-25 10:58:08

HBase數(shù)據(jù)庫操作系統(tǒng)

2016-10-08 18:02:21

SQL Server安裝設(shè)置與實(shí)踐

2023-08-30 18:49:05

2016-10-12 10:18:53

Java字符串源碼分析

2021-07-12 23:43:46

AppAndroid優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)