ããå¨androidéï¼æ4ç§activityçå¯å¨æ¨¡å¼ï¼åå«ä¸ºï¼
ããâstandardâ (é»è®¤)
ããâsingleTopâ
ããâsingleTaskâ
ããâsingleInstanceâ
ãã1. å¦ä½å³å®æå±task
ããâstandardâåâsingleTopâçactivityçç®æ taskï¼åæ¶å°çIntentçåéè
å¨åä¸ä¸ªtaskå
ï¼é¤éintentå
æ¬åæ°FLAG_ACTIVITY_NEW_TASKã
ããå¦ææä¾äºFLAG_ACTIVITY_NEW_TASKåæ°ï¼ä¼å¯å¨å°å«çtaskéã
ãã2. æ¯å¦å
许å¤ä¸ªå®ä¾
ããâstandardâåâsingleTopâå¯ä»¥è¢«å®ä¾åå¤æ¬¡ï¼å¹¶ä¸åå¨äºä¸åçtaskä¸ï¼ä¸ä¸ä¸ªtaskå¯ä»¥å
æ¬ä¸ä¸ªactivityçå¤ä¸ªå®ä¾ï¼
ããâsingleTaskâåâsingleInstanceâåéå¶åªçæä¸ä¸ªå®ä¾ï¼å¹¶ä¸æ¯taskçæ ¹å
ç´ ã
ããsingleTopè¦æ±å¦æå建intentçæ¶åæ 顶已ç»æè¦å建 çActivityçå®ä¾ï¼åå°intentåéç»è¯¥å®ä¾ï¼èä¸åéç»æ°çå®ä¾ã
ãã3. æ¯å¦å
许å
¶å®activityåå¨äºæ¬taskå
ããâsingleInstanceâç¬å ä¸ä¸ªtaskï¼å
¶å®activityä¸è½åå¨é£ä¸ªtaskéï¼å¦æå®å¯å¨äºä¸ä¸ªæ°çactivityï¼ä¸ç®¡æ°çactivityçlaunch mode å¦ä½ï¼æ°çactivityé½å°ä¼å°å«çtaskéè¿è¡ï¼å¦åå äºFLAG_ACTIVITY_NEW_TASKåæ°ï¼ã
ããèå¦å¤ä¸ç§æ¨¡å¼ï¼åå¯ä»¥åå
¶å®activityå
±åã
ãã4. æ¯å¦æ¯æ¬¡é½çææ°å®ä¾
ããâstandardâ对äºæ²¡ä¸ä¸ªå¯å¨Intenté½ä¼çæä¸ä¸ªactivityçæ°å®ä¾ï¼
ããâsingleTopâçactivityå¦æå¨taskçæ 顶çè¯ï¼åä¸çææ°ç该activityçå®ä¾ï¼ç´æ¥ä½¿ç¨æ 顶çå®ä¾ï¼å¦åï¼çæ该activityçå®ä¾ã
ããæ¯å¦ç°å¨taskæ å
ç´ ä¸ºA-B-C-Dï¼Då¨æ 顶ï¼ï¼è¿æ¶åç»Dåä¸ä¸ªå¯å¨intentï¼å¦æDæ¯ âstandardâçï¼åçæDçä¸ä¸ªæ°å®ä¾ï¼æ å为Aï¼Bï¼Cï¼Dï¼Dã
ããå¦æDæ¯singleTopçè¯ï¼åä¸ä¼ç产Dçæ°å®ä¾ï¼æ ç¶æä»ä¸ºA-B-C-D
ããå¦æè¿æ¶åç»BåIntentçè¯ï¼ä¸ç®¡Bçlaunchmodeæ¯âstandardâ è¿æ¯ âsingleTopâ ï¼é½ä¼çæBçæ°å®ä¾ï¼æ ç¶æå为A-B-C-D-Bã
ãã
ããâsingleInstanceâæ¯å
¶æå¨æ çå¯ä¸activityï¼å®ä¼æ¯æ¬¡é½è¢«éç¨ã
ãã
ããâsingleTaskâå¦æå¨æ 顶ï¼åæ¥åintentï¼å¦åï¼è¯¥intentä¼è¢«ä¸¢å¼ï¼ä½æ¯è¯¥taskä»ä¼åå°åå°ã
ãã
ããå½å·²ç»åå¨çactivityå®ä¾å¤çæ°çintentæ¶åï¼ä¼è°ç¨onNewIntent()æ¹æ³
ããå¦ææ¶å°intentçæä¸ä¸ªactivityå®ä¾ï¼é£ä¹ç¨æ·å¯ä»¥éè¿backé®åå°ä¸ä¸ä¸ªç¶æï¼å¦ææ¯å·²ç»åå¨çä¸ä¸ªactivityæ¥å¤çè¿ä¸ªintentçè¯ï¼ç¨æ·ä¸è½éè¿æbacké®è¿åå°è¿ä¹åçç¶æã
ããæ»ç»å¦ä¸ï¼
ããstandard æ¯æ¬¡é½ä¼æ°å»ºï¼æ¯ä¸ªTaské½å¯ä»¥æï¼ä¸æ¯ä¸ªTaské½å¯ä»¥æå¤ä¸ªå®ä¾ï¼æ¯ä¸ªTaské½å¯ä»¥æï¼ä¸å¯ä»¥æå¤ä¸ªï¼
ããsingleTop å½åå®ä¾å¦æå¨æ 顶ï¼å°±ä¸æ°å»ºå®ä¾ï¼è°ç¨å
¶OnNewIntentã å¦ä¸å¨æ 顶ï¼åæ°å»ºå®ä¾ ï¼æ¯ä¸ªTaské½å¯ä»¥æï¼ä¸å¯ä»¥æå¤ä¸ªï¼å¨æ 顶æ¶å¯å¤ç¨ï¼
ããsingleTask æ°å»ºä¸ä¸ªTaskï¼å¦æå·²ç»æå
¶ä»çTask并ä¸å
å«è¯¥å®ä¾ï¼é£å°±ç´æ¥è°ç¨é£ä¸ªTaskçå®ä¾ãï¼åªæä¸ä¸ªTaskä¸ä¼æï¼
ããsingleInstance æ°å»ºä¸ä¸ªTaskï¼ä¸å¨è¯¥Taskä¸åªæå®çå¯ä¸ä¸ä¸ªå®ä¾ã (åªæä¸ä¸ªTaskä¼æï¼ä¸è¯¥Taskä¸åªæå®)
ããFLAG_ACTIVITY_NEW_TASK 类似singleTask
ããFLAG_ACTIVITY_SINGLE_TOP 类似singleTop
ããFLAG_ACTIVITY_CLEAR_TOP æ 对åº
温馨提示:答案为网友推荐,仅供参考