1. 程式人生 > >Activity生命週期以及launchMode對生命週期的影響

Activity生命週期以及launchMode對生命週期的影響

啟動Activity1,此時會建立一個Task,將Activity1新增到Task中。此時如果再啟動Activity1,由於Task頂部的Activity例項就是Activity1的例項,那麼不會重新建立Activity1的例項,而是會複用Task頂部的Activty1。如果此時啟動Activity2,由於Task頂部的例項為Activity1的例項,同時Task中也沒有Activity2的例項,那麼會重新建立一個Activity2的例項,將Activity2的例項新增到Task中。此時Task頂部的Activity例項為Activity2。如果再次啟動Activity2,由於棧頂的Activity例項就是Activity2的例項,那麼不會重新建立Activity2的例項,而是複用Task頂部的Activity2的例項,該例項的onNewIntent方法會被呼叫。如果此時啟動Activity1,由於棧頂的Activity例項為Activity2的例項,那麼會重新建立一個Activity1的例項,將該例項新增到Task中。這時Task中Activity1的例項有兩個,Activity2的例項有一個。