天天看點

android之launchMode相關内容

原來感覺總是對android中的啟動模式了解的程度有限。這兩天蹭有空,就花了一些總結一下。我主要參考了如下資料:

關于launchMode方面的:http://blog.csdn.net/liuhe688/article/details/6754323/

關于launchMode與flag方面的:http://www.360doc.com/content/14/0925/13/9200790_412234173.shtml

關于taskAffinity方面的:http://blog.csdn.net/way_ping_li/article/details/8680359

感謝以上作者的付出。

我就總結一下我的一些了解:

1. 應用和任務棧的關系,為1對N。換句話說是一個應用至少又一個任務棧。

2. 在android手機中長按home鍵,顯示出來的内容為任務棧。

3. 在android手機中按下傳回鍵,總是從目前的任務棧彈出棧頂的元素,再次按下傳回鍵,依然從目前的任務棧傳回,隻有目前的任務棧為空時,才會替換到目前應用其他的任務棧中。

4. taskAffinity是用來尋找task的。如果不設定,預設值等于目前的包名。比如,在目前的界面啟動另一個activity,設定的flag為FLAG_ACTIVITY_NEW_TASK,這時就會根據activity的taskAffinity所表示的task,如果找到了,就是用這個task,如果沒有找到就建立一個新task。

5. 啟動模式中不管singleTask、singleInstance,taskAffinity都是用來尋找task。比如,如果是singleinstance的話,根據taskAffinity尋找task,如果找了,會先清空task,被啟動activity獨占一個task。

6. 在一定程度上flag也能起到launchMode的作用。一般可了解為修改啟動模式有兩種吧。

繼續閱讀