成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細介紹有關Android啟動模式問題

移動開發(fā) Android
一個類的新實例是否可以接受,當已存在的acitity用來處理Android啟動模式的時候,intent會引發(fā)activity的onNewIntent() 方法。

Android已經(jīng)轉進了Android啟動模式,首先當一個已經(jīng)存在的activity處理新的intent的時候,用戶不能按BACK鍵后退了,這都是一些自己總結出來的成果,歡迎大家學習參考。

不同程序的Android啟動模式可以共享一個affinity;同一個程序的activity可以使用不同的afninity。afninity在符合以下2個條件的時候啟動:當啟動acitity的Intent中含有FLAG_ACTIVITY_NEW_TASK 節(jié)點,或者一個activity的allowTaskReparenting 屬性設置為"true"。

之前提到,任務的默認通過startActivity(). 激活的默認activity也和其他activity在一個堆棧里面。但是引發(fā)這個activity的Intent通過startActivity() 方法傳遞了 FLAG_ACTIVITY_NEW_TASK 節(jié)點。望文知意,這個節(jié)點表示新的任務。但是,也不一定;如果任務中沒有含有此afinity的activity,那么它從默認的activity開始。

allowTaskReparenting 節(jié)點如果activity的 allowTaskReparenting 屬性設置為 "true", 它就可以脫離開始它的任務,然后通過它的afinity指引,走入下一個任務。例如,假設“旅游軟件”有一個activity可以獲取指定城市的天氣。

這個activity和此程序中的其他activity有同樣的afinity(默認的afinity)。并且允許重新轉入另外的任務。某個activity開始了天氣預報動作,它一開始屬于這個任務;但是旅游程序到前臺運行的時候,天氣預報acivity被分配到旅游程序運行。

如果從用戶角度看,一個.apk文件包含許多程序,你必須適當?shù)姆峙洳煌腶ffinity給activitis,哪個任務將包含intent指定要運行的activity:對于 "standard" 和 "singleTop" 模式,啟動activity的intent 。

(即調用 startActivity()方法的) —除非intent對象包含F(xiàn)LAG_ACTIVITY_NEW_TASK 節(jié)點,如果是的話,會像上個章節(jié)描述的一樣, Affinities and new tasks,另外一個任務會承載這個activity。

相對的, "singleTask" 和 "singleInstance" 模式使得activity永遠在tast的根,他們初始化一個任務,不會融入到其他任務中 。activity是否會有多個實例. "standard" 或 "singleTop"模式的activity可以被示例化多次,屬于多個任務,或者一個任務中有多個此activity的實例。

相對的,, "singleTask" 和 "singleInstance" 模式的activities限制為只能有一個實例。因為這些activity在任務的根,這表示,任務也只有一個。同一個任務中是否可以有其他的activity: "singleInstance" 模式的activity所在的任務中不能有其他的activity ,如果啟動其他activity。

那么其他activity 會被附加到新的任務(不管新activity的Android啟動模式是什么) — 就像intent使用了 FLAG_ACTIVITY_NEW_TASK 標記。在其他方面, "singleInstance" 和 "singleTask"沒有什么區(qū)別。

其他三種模式允許多個acitvity在同一個任務中。singleTask 的activity必須在任務的根,它可以啟動其他設置到該任務的activity。而standard" 和 "singleTop"可以用于任務的任何位置。

一個類的新實例是否可以接受、處理其他部分發(fā)來的intent: 默認的"standard" 模式可以響應任何新的intent。每個實例處理一個intent。 "singleTop" 模式的activity如果在任務的頂部,則用已有的實例處理所有請求該實例的intent;反之創(chuàng)建一個新的實例,并壓入任務的頂部。

例如,一個任務包含根activityA,和其他activityB,C,D,D在任務堆棧的頂部,即堆棧為A-B-C-D. 一個intent請求D。如果D是"standard" Android啟動模式,則D的一個新實例被創(chuàng)建,任務堆棧變?yōu)锳-B-C-D-D. 但是。

如果D的Android啟動模式是"singleTop", 則現(xiàn)有的D的實例來響應intent,所以任務堆棧仍然是A-B-C-D. 另外一種情況,如果intent來請求B,如果B是 "standard" 或者 "singleTop" 模式,B都將創(chuàng)建一個新的實例來響應,則任務堆棧為 A-B-C-D-B。

就像上面提到的,"singleTask" 或 "singleInstance" 的activity只有1個實例,所以這個實例要處理所有的intent。"singleInstance" 的activity永遠在任務堆棧的頂部(因為它是任務中的***個activity),所以這個實例處理所有的intent。可能有其他的activity在"singleTask" 的activity的頂部,因此這個實例不會處理intent請求,因此intent的請求會失敗;(即使失敗,intent也會激活這個程序)

注意:當一個新的activity的實例為了響應intent而創(chuàng)建時,用戶可以按BACK鍵回到上一個狀態(tài)(上一個activity)。但是當一個已經(jīng)存在的activity處理新的intent的時候,用戶不能按BACK鍵后退了。

【編輯推薦】

  1. Android應用程序組建原理深入剖析
  2. Android SMS短信服務相關概念簡述
  3. PythonAndroid數(shù)據(jù)庫相關代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應用程序的四個關鍵點
責任編輯:chenqingxiang 來源: 博客園
相關推薦

2010-02-06 09:45:49

Android屬性

2010-02-22 13:20:58

Python中文問題

2010-03-02 09:13:55

Android手機系統(tǒng)

2010-03-09 16:38:22

Linux grub啟

2010-03-10 11:26:29

交換機配置

2010-03-03 17:50:45

Android圖形界面

2009-12-25 16:51:37

ADO參數(shù)

2009-12-16 10:57:29

VS插件

2010-02-23 10:32:20

Python 腳本

2010-01-13 13:27:00

C++優(yōu)化

2010-02-06 16:57:43

Android操作系統(tǒng)

2010-03-05 15:58:11

操作系統(tǒng)Android

2011-08-02 18:38:19

MySQLINI文件

2023-12-05 16:01:12

模板方法設計模式算法結構

2010-03-19 11:07:57

點對點無線橋接模式

2010-02-06 15:19:35

2010-03-05 16:58:02

Android Mar

2010-02-05 18:04:36

Android程序框架

2010-02-04 16:43:18

Android 配置問

2011-07-21 17:02:48

JAVA模式框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区四区 在线 | 国产精品久久久久久亚洲调教 | 日韩视频―中文字幕 | 亚洲精品天堂 | 99视频免费在线 | 国产亚洲日本精品 | 99九九久久 | 成人不卡视频 | 欧美一区视频 | 国产高清在线精品一区二区三区 | 精品国产一区二区三区av片 | 国产偷录叫床高潮录音 | 日本天天操 | 久久国产福利 | 国内自拍视频在线观看 | 一级黄在线观看 | 欧美三级在线 | 成人免费一区二区三区视频网站 | 香蕉久久av | 美女天天操 | 婷婷成人在线 | 国产一区二区在线播放 | 在线视频一区二区 | 久久天天躁狠狠躁夜夜躁2014 | 欧美一级黑人aaaaaaa做受 | 中文字幕在线一区二区三区 | 天天草天天射 | 一级毛片成人免费看a | 99热热热热| 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 欧美在线视频一区二区 | 欧美群妇大交群中文字幕 | 一区二区视频在线 | 免费观看毛片 | 精品一二三区 | 国产精品高清一区二区三区 | 九九亚洲精品 | 欧美日韩精品专区 | 国产在线麻豆精品入口 | 国产精品爱久久久久久久 | 免费看黄色片 |