亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Android中Activity的啟動模式及應用場景

 更新時間:2023年09月14日 08:29:37   作者:似曾相識2022  
今天給大家介紹下安卓開發(fā)中不得不涉及的Activity啟動模式及應用場景,Activity一共有四種啟動模式,分別是Standard模式、SingleTop模式、SingleTask模式以及SingleInstance模式,,需要的朋友可以參考下

今天給大家介紹下安卓開發(fā)中不得不涉及的Activity啟動模式及應用場景。

Activity一共有四種啟動模式,分別是Standard模式、SingleTop模式、SingleTask模式以及SingleInstance模式,默認不主動設置的情況下是Standard模式。

  • Standard模式: 只要創(chuàng)建了Activity的實例,一旦啟動后就會向任務棧中添加該實例,退出Activity后會任務棧中銷毀該實例,即調(diào)用finish() 方法。

例如當前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為Standard模式。此時再次啟動ActvivtyC,任務棧中會一直將該實例加入當前任務棧中:

使用場景: 默認啟動模式,如果沒有特殊功能的頁面都可使用該模式。

  • SingleTop模式: 該模式和Standard模式幾乎一致,只要有新的實例就向任務棧中添加實例,唯一的區(qū)別是僅當當前任務棧棧頂?shù)膶嵗彤斍皢拥哪繕藢嵗峭粋€Activty的時候采取復用模式,不再創(chuàng)建新的實例。

例如當前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為SingleTop模式。此時再次啟動ActvivtyC,任務棧不會再去添加一個ActvivtyC實例,會復用當前棧頂?shù)腁ctvivtyC。

使用場景: 默認啟動模式,如果沒有特殊功能的頁面都可使用該模式。

  • SingleTop模式: 該模式和Standard模式幾乎一致,只要有新的實例就向任務棧中添加實例,唯一的區(qū)別是僅當當前任務棧棧頂?shù)膶嵗彤斍皢拥哪繕藢嵗峭粋€Activty的時候采取復用模式,不再創(chuàng)建新的實例。

例如當前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為SingleTop模式。此時再次啟動ActvivtyC,任務棧不會再去添加一個ActvivtyC實例,會復用當前棧頂?shù)腁ctvivtyC。

使用場景: 一些常駐的頁面,例如APP首頁之類的頁面。

  • SingleInstance模式: 由名字可知,它是一個單例模式。和SingleTask模式有點類似,區(qū)別在于SingleTask模式僅僅是在當前棧中單例,而SingleInstance模式是整個App中單例,啟動這類模式的Activity時,會創(chuàng)建一個單獨的任務棧。

例如當前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC——>ActvivtyD,ActvivtyD為SingleInstance模式,那么它是單獨在一個任務棧中的。

使用場景: 其實這類模式在常用的應用中使用較少,一般打電話的場景會用到。

總結: 不同功能的頁面需要匹配到不同的啟動模式,一些特殊的需求可能會有不同的跳轉,這時配合這四種模式能夠得到有效解決。特別需要注意在使用SingleTop 、SingleTask模式的時候由于是復用模式需要在該Activity重寫onNewIntent方法去重新獲取新數(shù)據(jù)。

好了,以上便是Activity的啟動模式及應用場景的全部內(nèi)容,希望對大家有所幫助!

到此這篇關于詳解Android中Activity的啟動模式及應用場景的文章就介紹到這了,更多相關Android Activity啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論