Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程
徹底殺掉 App 相關(guān)進(jìn)程的代碼
public void killAppProcess() { //注意:不能先殺掉主進(jìn)程,否則邏輯代碼無法繼續(xù)執(zhí)行,需先殺掉相關(guān)進(jìn)程最后殺掉主進(jìn)程 ActivityManager mActivityManager = (ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> mList = mActivityManager.getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : mList) { if (runningAppProcessInfo.pid != android.os.Process.myPid()) { android.os.Process.killProcess(runningAppProcessInfo.pid); } } android.os.Process.killProcess(android.os.Process.myPid()); System.exit(0); }
需要注意的坑
1. KillProcess()
android.os.Process.killProcess(android.os.Process.myPid())
可以殺死當(dāng)前應(yīng)用活動的進(jìn)程,這一操作將會把所有該進(jìn)程內(nèi)的資源(包括線程全部清理掉)。當(dāng)然,由于 ActivityManager 時(shí)刻監(jiān)聽著進(jìn)程,一旦發(fā)現(xiàn)進(jìn)程被非正常 Kill,它將會試圖去重啟這個(gè)進(jìn)程。
這就是為什么,有時(shí)候當(dāng)我們試圖這樣去結(jié)束掉應(yīng)用時(shí),發(fā)現(xiàn) app 會自動重新啟動的原因.
2. System.exit()
System.exit() 是 Java 中結(jié)束進(jìn)程的方法,調(diào)用它將關(guān)閉當(dāng)前的 JVM 虛擬機(jī)。
//表示是正常退出;
System.exit(0);
//表示是非正常退出,通常這種退出方式應(yīng)該放在catch塊中
System.exit(1);
3. App crash 后重啟
上面鏈接中的文章寫得很好很全面,參考即可
以上這篇Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 創(chuàng)建Android守護(hù)進(jìn)程實(shí)例(底層服務(wù))
- Android基于Aidl的跨進(jìn)程間雙向通信管理中心
- Android跨進(jìn)程拋異常的原理的實(shí)現(xiàn)
- Android 雙進(jìn)程守護(hù)的實(shí)現(xiàn)代碼
- android studio3.0.1無法啟動Gradle守護(hù)進(jìn)程的解決方法
- Android進(jìn)程間通信實(shí)踐的示例代碼
- 詳解Android跨進(jìn)程IPC通信AIDL機(jī)制原理
- 詳解android webView獨(dú)立進(jìn)程通訊方式
- 詳解Android 進(jìn)程
相關(guān)文章
Android OpenGL ES 實(shí)現(xiàn)抖音傳送帶特效(原理解析)
這篇文章主要介紹了Android OpenGL ES 實(shí)現(xiàn)抖音傳送帶特效,抖音傳送帶特效推出已經(jīng)很長一段時(shí)間了,前面也實(shí)現(xiàn)了下,最近把它整理出來了,如果你有仔細(xì)觀測傳送帶特效,就會發(fā)現(xiàn)它的實(shí)現(xiàn)原理其實(shí)很簡單,需要的朋友可以參考下2022-07-07Android使用AlertDialog創(chuàng)建對話框
這篇文章主要為大家詳細(xì)介紹了Android使用AlertDialog創(chuàng)建對話框的方法料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12android-獲取網(wǎng)絡(luò)時(shí)間、獲取特定時(shí)區(qū)時(shí)間、時(shí)間同步的方法
本篇文章主要介紹了android-獲取網(wǎng)絡(luò)時(shí)間、獲取特定時(shí)區(qū)時(shí)間、時(shí)間同步,小編覺得不錯(cuò),現(xiàn)在就分享給大家,有興趣的可以了解一下。2016-12-12Android自定義View實(shí)現(xiàn)微信支付密碼輸入框
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)微信支付密碼輸入框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Android基于廣播事件機(jī)制實(shí)現(xiàn)簡單定時(shí)提醒功能代碼
這篇文章主要介紹了Android基于廣播事件機(jī)制實(shí)現(xiàn)簡單定時(shí)提醒功能代碼,較為詳細(xì)的分析了Android廣播事件機(jī)制及提醒功能的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Flutter加載圖片流程之ImageProvider源碼示例解析
這篇文章主要為大家介紹了Flutter加載圖片流程之ImageProvider源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Android?OkHttp庫簡單使用和封裝教程助你快速掌握網(wǎng)絡(luò)請求技能
OkHttp是一個(gè)高效的HTTP客戶端庫,適用于Android和Java應(yīng)用程序。它支持HTTP/2和SPDY協(xié)議,提供了同步和異步請求API、請求和響應(yīng)攔截器、連接池和多路復(fù)用器、緩存支持、GZIP和DEFLATE壓縮等功能,可以大大提高網(wǎng)絡(luò)請求的性能和可擴(kuò)展性2023-04-04Android編程實(shí)現(xiàn)通知欄進(jìn)度條效果的方法示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)通知欄進(jìn)度條效果的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android通知欄進(jìn)度條效果的功能、布局相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2018-02-02