優雅的Android應用程式完全退出方案

2021-07-03 16:01:06 字數 757 閱讀 7787

網上有關應用程式完全退出有一堆的解決方案,大致歸類如下:

1.任務管理器方法(activitymanager)。

2.android.os.process.killprocess。

3.單例模式建立乙個activity管理物件,該物件中有乙個activity容器,每次新開啟一activity就加入到容器中,然後在完全退出時,迴圈遍歷然後finish();

4.廣播方式。

5.捕獲異常,然後遮蔽強制對話方塊。

雖然實現方式很多,但感覺都不是很優雅,特別是第3種看起來很優雅,但是有乙個很大的問題,存在嚴重的記憶體洩露隱患,這裡給出我的一種實現方案:

比如應用程式啟動載入spash頁面(a)然後進入主介面(b),然後b啟動c,c啟動d,d啟動b。

如果我們按預設啟動方式的話,此時要在b頁面關閉整個應用程式的話需要依次關閉b d c b a;

但是如果我們給b設定android:launchmode="singletask" 當d啟動b的時候就會自動清空d c 也不會重新啟動乙個b,而是用原來的b,這樣在b關閉整個應用程式就只需要關閉b和a,當我們a啟動b的時候finish掉a,我們就可以很輕鬆的在b頁面關閉整個應用程式,因為當前只有乙個b。

只要我們靈活的應用activity的幾種啟動方式,充分了解每種啟動方式使用的場景,就可以很容易的讓應用程式完全隨心所欲的退出。

Android應用程式簽名

android系統要求所有的程式經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝執行此程式,不管是模擬器還是真實手機。因此,在裝置或者是模擬器上執行除錯程式之前,必須為應用程式設定數字簽名。android 系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程式的簽名是在安裝之後才到期,...

android 應用程式框架

在進行android軟體開發時,開發者所開發的android應用程式都是通過應用程式框架來與android底層進行互動的,所以開發中接觸到最多的部分就是應用程式框架。在整合應用程式框架 中有4個重要的元件,介紹如下。activities 乙個activities就表示乙個程式的顯示介面,在乙個應用程...

Android 應用程式架構

android應用程式架構 1 可擴充套件檢視 view 建立應用程式 2 內容管理器 content providers 訪問其他應用程式資料 共享自身資料 3 資源管理器 resource manager 提供非 資源訪問,本地字串 分層檔案 4 通知管理器 notification manag...