观看麻豆影视文化有限公司-国产 高清 在线-国产 日韩 欧美 亚洲-国产 日韩 欧美 综合-日日夜夜免费精品视频-日日夜夜噜

android activity啟動流程(全網最全Android開發筆記)

  • 生活
  • 2023-04-25 13:31

一.先領會棧的觀念(安置Activity范例的容器)

1.Task(線性表)

工作棧Task,用來安置Activity范例的容器,進步后出,重要有2個基礎操縱:壓棧和出棧,其所寄存的Activity是不扶助從新排序的,只能按照壓棧和出棧操縱變動Activity的程序。

2.app啟用時,體例會為它默許創造一個對應的Task,用來安置根Activity

ps:Activity之間不妨彼此啟用,暫時運用的Activity不妨去啟用其余運用的Activity(相機),那么即是說棧的功效不妨把其它app的activity介入到本人app的棧里.

以是Task不妨領會為控制處置一切用到的Activity范例的棧,然而.android5.0之后跨過程挪用activity,這個activity會被放入到一個新的棧中。

二.啟用形式(只能按照壓棧和出棧操縱變動Activity的程序,以是是啟用形式是以哪種模樣入棧)

經過在AndroidManifest文獻中的屬性andorid:launchMode來樹立大概經過Intent的flag來樹立

1.standard(慣例模樣入棧)

默許形式。在這個形式下,城市默許創造一個新的范例。所以,在這種形式下,不妨有多個溝通的范例,也允很多個溝通Activity疊加。運用場景:絕大普遍Activity。

2.singleTop(棧頂復用模樣入棧)==FLAG_ACTIVITY_SINGLE_TOP

棧頂復用形式,即使要打開的activity在工作棧的頂部仍舊生存,就不會創造新的范例,而是挪用onNewIntent()本領。制止棧頂的activity被反復的創造。運用場景:在報告欄點擊收到的報告,而后須要啟用一個Activity,這個Activity就不妨用singleTop,要不歷次點擊城市興建一個Activity。某個場景下貫串趕快點擊,啟用了兩個Activity。即使這個功夫待啟用的Activity運用singleTop形式也是不妨制止這個Bug的。

3.singleTask(棧內復用模樣入棧)==FLAG_ACTIVITY_CLEAR_TOP

棧內復用形式,activity只會在工作棧內里生存一個范例。即使要激活的activity,在工作棧內里仍舊生存,就不會創造新的activity,而是復用這個仍舊生存的activity,挪用onNewIntent()本領,而且清空這個activity工作棧上頭一切的activity(CLEAR_TOP回到棧頂)。運用場景:大普遍App的網頁。對于大局部運用,當咱們在主界面點擊回退按鈕的功夫都是退出運用,那么當咱們第一次加入主界面之后,主界面坐落棧底,此后盡管咱們翻開了幾何個Activity,只有咱們再次回到主界面,都該當運用將主界面Activity上一切的Activity移除的辦法來讓主界面Activity居于棧頂,而不是往棧頂新加一個主界面Activity的范例,經過這種辦法不妨保護退出運用時一切的Activity都能報廢棄。

4.singleInstance(不入棧)

簡單范例形式,所有大哥大操縱體例內里惟有一個范例生存。各別的運用去翻開這個activity共享公用的同一個activity。他會運轉在本人獨立,獨力的工作棧內里,而且工作棧內里惟有他一個范例生存。運用場景:呼喚復電界面。這種形式的運用情景比擬常見,在Launcher中大概運用。大概你決定你須要使Activity惟有一個范例。倡導精心運用。

5.FLAG_ACTIVITY_NO_HISTORY

Activity運用這種形式啟用Activity,當該Activity啟用其余Activity后,該Activity就消逝了,不會保持在Activity棧中。

三.FLAG_ACTIVITY_NEW_TASK這個屬性規則是:樹立此狀況,開始會搜索能否生存和被啟用的Activity具備溝通的親和性的工作棧(即taskAffinity,同一個運用步調中的activity的親和性一律),即使有,則徑直把這個棧完全挪動到前臺,并維持棧中的狀況靜止,即棧中的activity程序靜止,即使沒有,則興建一個棧來寄存被啟用的activity。1.getTaskId();獲得暫時activity所處的棧

2.同一個運用步調中的activity的親和性一律(taskAffinity),也即是說Actviityaintent時setFalg(Intent.FLAG_ACTIVITY_NEW_TASK)到Activityb然而Actviitya和Activityb仍舊一個棧

在各別的運用中跳轉才會創造新的Task。

3.在Activity左右文除外啟用Activity須要給Intent樹立FLAG_ACTIVITY_NEW_TASK標記,否則會報特殊。

四FLAG_ACTIVITY_CLEAR_TASK(必需和FLAG_ACTIVITY_NEW_TASK一道運用)

清空棧內activity,只留住這個activity

猜你喜歡

主站蜘蛛池模板: 日韩精品久久久久久 | 国产精品久久国产三级国电话系列 | 亚洲激情 欧美 | 日本爽快片100色毛片 | 一级真人毛片 | 日韩三级小视频 | 俄罗斯美女毛片 | 一区二区三区四区国产精品 | 私人毛片免费高清影视院丶 | 黄色美女一级片 | 欧美中文字幕在线视频 | 久久精品国产亚洲7777 | 国产日韩美国成人 | 一级毛片区 | 免费国产a国产片高清 | 久草在线在线 | 中文字幕日韩精品有码视频 | a级高清免费 | 亚洲精品日韩中文字幕久久久 | 免费一区区三区四区 | 精品在线免费观看 | 免费人成年短视频在线观看网站 | 日本精品中文字幕有码 | 国产91一区二这在线播放 | 久久99精品久久久久久 | 国产免费久久精品久久久 | 国产一级在线观看 | 久久综合给会久久狠狠狠 | 国产大尺度福利视频在线观看 | 亚洲精品成人a | 玖玖精品 | 韩国女主播青草在线观看 | 牛人国产偷窥女洗浴在线观看 | 国产视频自拍偷拍 | 美女张开腿黄网站免费 | 日本免费小视频 | 久久久美女视频 | 亚洲免费色 | 国产三级视频在线播放 | 亚洲欧美国产精品专区久久 | 亚洲欧美日本人成在线观看 |