activity啟動模式使用場景 請教高人,能說下activity四種啟動模式的應用場景嗎?
請教高人,能說下activity四種啟動模式的應用場景嗎?應用程序運行時,將打開一個線程,并在該線程中運行一個任務堆棧。創(chuàng)建活動實例時,它將被放入任務堆棧中。活動啟動模式設置為AndroidManif
請教高人,能說下activity四種啟動模式的應用場景嗎?
應用程序運行時,將打開一個線程,并在該線程中運行一個任務堆棧。創(chuàng)建活動實例時,它將被放入任務堆棧中?;顒訂幽J皆O置為AndroidManifest.xml文件文件,通過配置活動的屬性android:啟動模式=“”設置。
1. 標準模式(默認)
我們直接創(chuàng)建的活動就是此模式的活動。這種模式下活動的特點是:只要創(chuàng)建一個活動實例,一旦激活該活動,就會將新創(chuàng)建的實例添加到任務棧中,當退出該活動時,就會銷毀任務棧中的實例。
2. Singletop mode
此模式將考慮要激活的活動實例是否位于任務堆棧的頂部。如果它位于堆棧的頂部,則不需要重新創(chuàng)建新實例,并且將重用現(xiàn)有實例,否則將在任務堆棧中創(chuàng)建新實例。
3. Singletask mode
如果任務堆棧中存在該模式的活動實例,則刪除堆棧中實例上方的所有活動實例,調用實例的newinstance()方法重用該活動,使實例位于堆棧頂部,否則將創(chuàng)建一個新的活動實例。
4. Singleinstance mode
在任務堆棧中創(chuàng)建此模式的活動實例時,只要該實例仍在任務堆棧中,即只要該類型的活動被激活,則通過調用該實例的newinstance()方法,該活動將被重用。此時,將使用相同的活動實例,它將位于任務堆棧的頂部。此模式通常用于加載速度慢、性能消耗大的活動,這些活動不需要每次都重新創(chuàng)建。