1. 程式人生 > >優雅的App全然退出方案(沒有不論什麽內存泄漏隱患)

優雅的App全然退出方案(沒有不論什麽內存泄漏隱患)

我們 超級 -h ini art 使用 span 簡單 activit

在Android開發過程中,特別是界面比較多的情況下,用尋常的退出方式往往是不能全然退出這個應用,網絡上也好多各種退出方案。當中一種應該是被廣大開發人員採納使用,也很的清晰方便。就是在Application中維護一個單例的List<Activity>管理容器,每次打開新的Activity就把當前Activity增加到容器中,然後在須要全然退出的時。就循環遍歷該容器分別finish()每一個Activity。即達到全然退出功能。

盡管這樣的退出方式非常好。但卻存在內存泄漏的隱患。所以,我們還須要再找更優的方案。這裏給出一個非常好的、實現超級簡單的方法,不須要通過什麽管理Activity,而是通過在Activity的啟動模式上做文章。

舉個樣例!

比方:有一個應用一打開首先進入A界面(引導界面)、再進入B界面(主界面)、然後進入C界面、進入D界面、進入E界面、進入F界面、再返回到B界面(主界面)、然後進入G界面、進入H界面,最後再返回到B界面(主界面),即流程為A->B->C->D->E->F->B->G->H->B

假設Activity是按默認的啟動模式,則在主界面B上點退出button要退出整個app的話,則須要依次關閉B-H-G-B-F-E-D-C-B-A界面。然並卵......這誰也不願意這樣關閉啊。可是我們假設設置B界面(主界面):android:launchMode="singleTask",那麽啟動過程從A->B->C->D->E->F->B到B界面上時,這時候不會又一次創建一個B界面,而是自己主動finish掉C、D、E、F界面後再使用原來那個B界面。然後再從B->G->H->B,也是會自己主動finish掉G、H界面而使用之前的B界面。所以,退出整個app應用也就僅僅需退出界面A和界面B了,而A界面是引導界面。當從A進入B的時候就能夠先finish掉A,然而。如今僅僅須要在主界面B上finish自己就能夠了。

輕輕松松完畢整個App應用的退出。


優雅的App全然退出方案(沒有不論什麽內存泄漏隱患)