新聞中心
做Android開(kāi)發(fā),一定寫(xiě)給過(guò)啟動(dòng)頁(yè),在這里做一些初始化的操作,還有就是顯示推廣信息。

目前創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、乳源網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
很普通的一個(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ī)生還提到了在子線(xiàn)程初始化和使用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è)我們想要的背景
自定義背景start_window.xml
- android:opacity="opaque">
- android:gravity="center"
- android:src="@mipmap/ic_launcher" />
***,在清單文件設(shè)置啟動(dòng)頁(yè)使用我們自定義的主題
- package="com.bitmain.launchtimedemo">
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- android:name=".SplashActivity"
- android:theme="@style/SplashTheme">
到此大功告成,為了體現(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);
- }
- }
網(wǎng)站欄目:App啟動(dòng)優(yōu)化更優(yōu)實(shí)踐
標(biāo)題鏈接:http://m.5511xx.com/article/djjoeog.html


咨詢(xún)
建站咨詢(xún)
