標籤:android開發 完全退出
在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上點退出按鈕要退出整個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完全退出方案(沒有任何記憶體流失隱患)