2011-12-23
Task指一連串Activity記錄歷程(e.g. A activity -> B activity -> C activity -> A activity)。Task可以跨Application,也就是說不同Application的Activiy可能會在同個Task中(e.g. App1's A activity -> App1's B activity -> App2's X activity -> App1's B activity)。
由Task的既念,衍生出Activity記錄歷程相關的議題。Activity記錄歷程存放在Activity Stack之中,又因為是Stack的結構,所以它的資料是LIFO(後進先出)。
Activity Stack中,每個Activity的存放順序與邏輯是由AndroidManifest.xml裡,Activity tag的"android:launchMode"屬性來設定。然後..."android:launchMode"屬性裡的設定值表示的意義很
它媽的
難懂,官方原文的說明在
這裡,基本上看完你就知道怎麼回事,那真的是神人一個。
直到我很好運的找到下面這超簡單清楚的佛心文之後,我終於真正了解"android:launchMode"屬性是怎麼一回事了(以前搞不太清楚前,只敢用standard跟singleTop,免的app出包)。
activity - android:launchMode(1) - standard介紹
activity - android:launchMode(2) - singleTop介紹
activity - android:launchMode(3) - singleTask介紹
activity - android:launchMode(4) - singleInstance介紹
activity - android:launchMode(5) - onNewIntent()目的
Activity的"android:launchMode"屬性的四種設定值說明摘要如下