中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中App啟動如何優化

發布時間:2021-12-18 16:27:33 來源:億速云 閱讀:207 作者:小新 欄目:移動開發

這篇文章主要介紹android中App啟動如何優化,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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

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

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

通過修改主題優化啟動時白屏/黑屏

原理請移步到醫生的文章,我就不復述了,之所以會看到白屏或者黑屏,是和我們的主題有關系的,因為系統默認使用的主題,背景色就是白色/黑色。那么我們自定義一個主題,讓默認的樣式就是我們想要的,就優化了白屏/黑屏的問題。

首先,我們自定義一個主題,設置一個我們想要的背景

<!-- 啟動頁主題 --> <style name="SplashTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">     <item name="android:windowBackground">@drawable/start_window</item> </style>

自定義背景start_window.xml

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

***,在清單文件設置啟動頁使用我們自定義的主題

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.bitmain.launchtimedemo">      <application         android:allowBackup="true"         android:icon="@mipmap/ic_launcher"         android:label="@string/app_name"         android:supportsRtl="true"         android:theme="@style/AppTheme">         <!-- 啟動頁 -->         <activity             android:name=".SplashActivity"             android:theme="@style/SplashTheme">             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>         <!-- 主頁 -->         <activity android:name=".MainActivity" />     </application>  </manifest>

到此大功告成,為了體現出效果,在啟動頁加載之前,我們模擬一個白屏/黑屏的延時操作

 public class SplashActivity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         // 模擬系統初始化  白屏、黑屏         SystemClock.sleep(1000);         setContentView(R.layout.activity_splash);         // 啟動后 停留2秒進入到主頁面         new Handler().postDelayed(new Runnable() {             @Override             public void run() {                 Intent intent = new Intent(SplashActivity.this, MainActivity.class);                 startActivity(intent);                 finish();             }         }, 2000);     } }

以上是“android中App啟動如何優化”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙门县| 会泽县| 绥芬河市| 双鸭山市| 屏山县| 崇左市| 怀集县| 合江县| 闽侯县| 泾川县| 文安县| 基隆市| 台江县| 长春市| 敦煌市| 石狮市| 江北区| 桦甸市| 鹤山市| 沾益县| 哈巴河县| 大宁县| 海南省| 茂名市| 东乌| 车险| 阿克| 达孜县| 曲靖市| 宣恩县| 内乡县| 西丰县| 霸州市| 若尔盖县| 高密市| 桂林市| 霞浦县| 蛟河市| 梅州市| 乌审旗| 孝感市|