日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android开发启动画面,Android开发笔记——如何正确实现App启动页

發(fā)布時間:2024/4/19 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android开发启动画面,Android开发笔记——如何正确实现App启动页 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

啟動頁在當前的Android APP中有著廣泛的使用,在Material Design規(guī)范出來之前,Android官方是不推薦使用啟動頁的,理由是讓用戶在啟動APP后干等是一種浪費時間的行為。Material Design 則制定了LaunchScreen 規(guī)范,用于在APP啟動的時候合理的利用從啟動到實際渲染出主界面之間這段時間,顯示一個LauncherScreen用來展示一些品牌元素等信息,避免顯示一個枯燥的空白界面。

APP啟動過程

APP的啟動過程可以參考這里。這里主要簡單介紹下APP冷啟動的過程。

APP冷啟動開始時,系統(tǒng)會做以下三個任務:

加載并啟動app

展示一個空白Window

創(chuàng)建app進程

在上面的第二個步驟中,WindowManager 使用Activity主題中定義的背景和狀態(tài)欄顏色的屬性來繪制一個臨時的展示UI。

當APP進程創(chuàng)建后,APP進程會做以下幾件事:

創(chuàng)建app對象

創(chuàng)建app的主進程

創(chuàng)建MainActivity

inflating views

執(zhí)行Layout過程

執(zhí)行界面繪制

當首次繪制完成后,系統(tǒng)會將之前展示的空白window移除,并展示創(chuàng)建好的MainActivity。在某些大型APP中,這個過程可能會有1-5秒。

啟動頁實現(xiàn)原理

從上面的啟動分析可以知道,WindowManager是根據(jù)Activity主題中定義的背景等屬性來創(chuàng)建一個臨時preview window的。我們在Activity的主題style中設置windowBackground屬性來設置這個preview window的顯示內(nèi)容。使用layer-list可以創(chuàng)建一個包含logo的drawable對象:

android:src="@drawable/logo"

android:gravity="center"/>

創(chuàng)建一個自定義Theme:

true

@null

true

實現(xiàn)方式

谷歌官方推薦的啟動頁實現(xiàn)方式是在將LauncherScreen和MainActivity合二為一。首先創(chuàng)建按照之前說的原理創(chuàng)建一個啟動頁Theme,并在Manifest中將其作為MainActivity的默認Theme。然后在MainActivity的onCreate方法中,在onCreate()和setContentView()之前使用setTheme方法,重新設置主界面的主題。

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// Make sure this is before calling super.onCreate

setTheme(R.style.Theme_MyApp);

super.onCreate(savedInstanceState);

// ...

}

}

這樣做的好處有以下幾點:

不需要額外的Activity實現(xiàn)啟動頁

沒有overdraw的問題,因為重新設置主題后,之前的繪畫層也一并移除了。

當然,如果你需要根據(jù)schema或者其他方式從啟動頁路由到不同的界面的功能,使用單獨的啟動頁Activity也是一個不錯的選擇。

總結(jié)

以上是生活随笔為你收集整理的android开发启动画面,Android开发笔记——如何正确实现App启动页的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。