這篇文章主要介紹android中App啟動(dòng)如何優(yōu)化,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比柘城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式柘城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋柘城地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
做Android開發(fā),一定寫給過(guò)啟動(dòng)頁(yè),在這里做一些初始化的操作,還有就是顯示推廣信息。
很普通的一個(gè)頁(yè)面,以前測(cè)試也給我提出過(guò)bug,應(yīng)用在啟動(dòng)的時(shí)候,有時(shí)候有白屏/黑屏。當(dāng)時(shí)能做的就是盡量較少耗時(shí)操作,上面醫(yī)生的文章里也有提到,但是通過(guò)主題的方式優(yōu)化這個(gè)問(wèn)題之前還真是不知道的。
下面主要總結(jié)一下通過(guò)主題的方式優(yōu)化啟動(dòng)頁(yè)(醫(yī)生還提到了在子線程初始化和使用IntentService初始化,都是屬于異步初始化,還有延遲初始化,就不說(shuō)了)
通過(guò)修改主題優(yōu)化啟動(dòng)時(shí)白屏/黑屏
原理請(qǐng)移步到醫(yī)生的文章,我就不復(fù)述了,之所以會(huì)看到白屏或者黑屏,是和我們的主題有關(guān)系的,因?yàn)橄到y(tǒng)默認(rèn)使用的主題,背景色就是白色/黑色。那么我們自定義一個(gè)主題,讓默認(rèn)的樣式就是我們想要的,就優(yōu)化了白屏/黑屏的問(wèn)題。
首先,我們自定義一個(gè)主題,設(shè)置一個(gè)我們想要的背景
<!-- 啟動(dòng)頁(yè)主題 --> <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>
***,在清單文件設(shè)置啟動(dòng)頁(yè)使用我們自定義的主題
<?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"> <!-- 啟動(dòng)頁(yè) --> <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> <!-- 主頁(yè) --> <activity android:name=".MainActivity" /> </application> </manifest>
到此大功告成,為了體現(xiàn)出效果,在啟動(dòng)頁(yè)加載之前,我們模擬一個(gè)白屏/黑屏的延時(shí)操作
public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 模擬系統(tǒng)初始化 白屏、黑屏 SystemClock.sleep(1000); setContentView(R.layout.activity_splash); // 啟動(dòng)后 停留2秒進(jìn)入到主頁(yè)面 new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); finish(); } }, 2000); } }
以上是“android中App啟動(dòng)如何優(yōu)化”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:android中App啟動(dòng)如何優(yōu)化
分享路徑:http://www.rwnh.cn/article40/jsdeeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)、小程序開發(fā)、企業(yè)建站、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)