standard(標準模式)
默認啟動模式,每次將創建一個新的實體,
singleTop(堆疊頂復用)
如果該活動處于堆疊頂部,則不會新建實體,否則新建實體;
復用時會觸發 onNewIntent 方法,
singleTask(堆疊內復用)
堆疊內唯一,只要堆疊中存在該實體,將被復用;并且位于該復用活動頂部的活動將被推出堆疊;
復用時會觸發 onNewIntent 方法,
singleInstance(單例模式)
全域唯一,單獨占用一個堆疊(哪怕taskAffinity一樣),只要存在該實體,無論從哪里啟動都將被復用;
注意:假設有多個活動,ABCD,按順序啟動,單例活動處于中間,回退時,單例模式會在最后一個,因為它屬于獨立堆疊;
復用時會觸發 onNewIntent 方法,
taskAffinity(任務親和力)
標識當前活動所屬任務;
默認所有活動屬于一個相同的 taskAffinity(應用程式的包名);
啟動兩個App,分別把其中的活動設定為相同的 taskAffinity,兩個app會分別啟動兩個不同的 task,但是相同 taskAffinity 的活動會處于相同 task 中,達到跨應用行程的作用,
allowTaskReparenting(活動遷移)
概括:能夠從啟動它的任務中轉移到另一個與啟動它的任務有親緣關系的任務中,
兩個app,打開第一個app,然后啟動第二個app的TestActivity(allowTaskReparenting=true);
此時在打開第二個app,TestActivity將被遷移回自己的task,直接顯示TestActivity,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/427470.html
標籤:其他
