<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android Starting Window(Preview Window)

      當(dāng)打開一個(gè)Activity時(shí),如果這個(gè)Activity所屬的應(yīng)用還沒有在運(yùn)行,系統(tǒng)會(huì)為這個(gè)Activity所屬的應(yīng)用創(chuàng)建一個(gè)進(jìn)程,但進(jìn)程的創(chuàng)建與初始化都需要時(shí)間,在這個(gè)動(dòng)作完成之前系統(tǒng)要做什么呢?如果沒有任何反應(yīng)的話,如果程序初始化的時(shí)間很長(zhǎng),用戶可能還以為沒有點(diǎn)到相應(yīng)的位置。但此時(shí)所啟動(dòng)的程序還沒初始化完,既無法顯示程序,又不能停在原處不做任何動(dòng)作,怎么辦?這就有了Starting Window的概念,也可以稱之為Preview Window

      Starting Window就是一個(gè)用于在應(yīng)用程序進(jìn)程創(chuàng)建并初始化成功前顯示的臨時(shí)窗口,擁有的Window Type是TYPE_APPLICATION_STARTING。在程序初始化完成前顯示這個(gè)窗口,以告知用戶系統(tǒng)已經(jīng)知道了他要打開這個(gè)應(yīng)用并做出了響應(yīng),當(dāng)程序初始化完成后顯示用戶UI并移除這個(gè)窗口。

      這個(gè)Starting Window我們都見過,不過可能沒留意過,其實(shí)就是開啟程序時(shí)黑屏的那個(gè)窗口,夠丑的。不過也沒辦法,每個(gè)程序的界面都不是同的,系統(tǒng)只有默認(rèn)顯示一個(gè)很簡(jiǎn)單的窗口了。

      如果所謂的Starting Window只是一個(gè)黑屏的窗口的話,那這個(gè)功能未免也太雞肋了。其實(shí)系統(tǒng)是可以根據(jù)每個(gè)程序的Theme顯示不同的樣子的。

      啟動(dòng)應(yīng)用的時(shí)候,雖然我們的程序還沒初始化,但程序內(nèi)的組件可是在程序安裝的時(shí)候就被系統(tǒng)分析注冊(cè)了的。我們可以針對(duì)每個(gè)Application和Activity設(shè)置不同的Theme,系統(tǒng)就是根據(jù)這個(gè)Theme初始化Starting Window的。Window布局的頂層是DecorView,Starting Window就是顯示一個(gè)空的但是應(yīng)用了Activity指定的Theme(如果Activity沒有指定就用Application的)的DecorView。

      在Theme中可以指定很多東西,如ActionBar的樣式,窗口的背景,Activity的圖標(biāo)等,通過給Activity指定Theme,系統(tǒng)就可以在我們的應(yīng)用初始化完成之前將這個(gè)Theme應(yīng)用到Starting Window,這樣看起來就像我們的應(yīng)用已經(jīng)啟動(dòng)起來了,只是數(shù)據(jù)內(nèi)容還沒有初始化好。

      所以,如果你的Activity的背景只是簡(jiǎn)單的純色的話,最好直接通過Theme把它應(yīng)用到Activity的Background,而不是設(shè)置為頂層Layout的背景,如果真的需要給頂層Layout設(shè)置背景,也可以給android:windowBackground設(shè)置一個(gè)和Activity UI相似的背景,為了防止Overdraw,在Activity的onCreate中通過setWindowBackground()再把窗口的背景設(shè)置為null

      系統(tǒng)在顯示Activity前顯示一個(gè)Starting Window僅發(fā)生在需要為啟動(dòng)這個(gè)Activity創(chuàng)建進(jìn)程時(shí),一般情況下是一個(gè)應(yīng)用的入口Activity(包含Lanuncher中顯示的圖標(biāo)進(jìn)入的Activity及被其他應(yīng)用調(diào)用的Activity)。

      還有一種情況就是應(yīng)用內(nèi)有多個(gè)進(jìn)程的情況(通過android:process),比如你的程序需要用單獨(dú)的進(jìn)程查看圖片,當(dāng)從你的應(yīng)用的主進(jìn)程進(jìn)入圖片瀏覽的Activity時(shí),系統(tǒng)就會(huì)創(chuàng)建圖片瀏覽的進(jìn)程,如果圖片瀏覽的Activity的需要使用的圖標(biāo)和Application指定的圖標(biāo)不一樣的話就要注意了,系統(tǒng)顯示圖片進(jìn)程中的Activity的Starting Window時(shí)不會(huì)使用這個(gè)Activity在Manifest中通過android:icon指定的圖標(biāo),而只會(huì)使用Theme中指定的圖標(biāo),如果沒為這個(gè)Activity指定一個(gè)Theme或所指定的Theme中沒有指定android:icon的話,系統(tǒng)會(huì)使用Application標(biāo)簽指定的android:icon,結(jié)果就是會(huì)看到Starting Window中顯示一個(gè)圖標(biāo),當(dāng)Activity加載完后圖標(biāo)會(huì)變?yōu)锳ctivity在Manifest中指定的android:icon,有一個(gè)變化的過程。

      更多介紹參考Android App Launching Made Gorgeous

      posted @ 2014-06-22 09:46  AngelDevil  閱讀(6485)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲码亚洲码天堂码三区| 人人澡人摸人人添| 国产破外女出血视频| 免费久久人人爽人人爽AV| 又爽又黄又无遮掩的免费视频| 中国性欧美videofree精品| 欧美成人性色一区欧美成人性色区 | 人妻伦理在线一二三区| 久久精品女人天堂av免费观看| 在线看高清中文字幕一区| 国产精品国产精品偷麻豆| 天天躁日日躁狠狠躁中文字幕| 国产成人综合亚洲精品国产| 亚洲蜜臀av乱码久久| 色成年激情久久综合国产| 偷拍专区一区二区三区| 性色欲情网站iwww九文堂| 日韩a∨精品日韩在线观看| 最新国产麻豆AⅤ精品无码| 亚洲国产成人久久综合野外| 2020精品自拍视频曝光| 精品国产美女av久久久久| 一区二区不卡国产精品| 国自产拍偷拍精品啪啪一区二区| 日韩三级一区二区在线看| 中文字幕亚洲人妻系列| 男人扒女人添高潮视频| 中文字幕有码在线第十页| 亚洲国产欧美一区二区好看电影| 国产成人精彩在线视频| 男女猛烈激情xx00免费视频| 国内不卡的一区二区三区| 国产免费午夜福利在线播放| 国产午夜精品福利91| 公安县| 亚洲人成人日韩中文字幕| 日本一道一区二区视频| 国产精品久久露脸蜜臀| 国产成人亚洲一区二区三区 | 日日碰狠狠躁久久躁96avv| 国产免费久久精品44|