【Android 应用开发】Android 杀进程总结 ( 杀后台进程 | 杀前台进程 | 杀其它进程 )
文章目錄
- 一、Android 殺后臺進(jìn)程
- 二、Android 殺前臺進(jìn)程
- 三、Android 殺其它進(jìn)程
一、Android 殺后臺進(jìn)程
使用 Android 的進(jìn)程 api 類 android.os.Process 殺死進(jìn)程 :
android.os.Process.killProcess(android.os.Process.myPid());如果當(dāng)前進(jìn)程處于前臺 , 殺死該進(jìn)程后 , Android 系統(tǒng)會(huì)重啟該進(jìn)程 , 這是 Android 系統(tǒng)本身的機(jī)制 ;
注意 : 調(diào)用該方法殺死的應(yīng)用 , 不能處于前臺任務(wù)棧中 ;
使用 Java 的進(jìn)程 api 類 java.lang.System 殺死進(jìn)程 : 參數(shù)中傳入 000 表示正常退出 , 傳入其它值表示非正常退出 ;
java.lang.System.exit(0);如果當(dāng)前進(jìn)程處于前臺 , 殺死該進(jìn)程后 , Android 系統(tǒng)會(huì)重啟該進(jìn)程 , 這是 Android 系統(tǒng)本身的機(jī)制 ;
調(diào)用該方法殺死的應(yīng)用 , 不能處于前臺任務(wù)棧中 ;
ActivityManager 會(huì)監(jiān)聽前臺進(jìn)程 , 一旦發(fā)現(xiàn)應(yīng)用不是正常結(jié)束 , 就會(huì)重啟應(yīng)用 , 使用上述兩種方法殺死的進(jìn)程就屬于非正常殺死的進(jìn)程 , 應(yīng)用進(jìn)程會(huì)重新啟動(dòng) ;
二、Android 殺前臺進(jìn)程
關(guān)閉了所有的 Activity 界面窗口 , 應(yīng)用進(jìn)程自然就被殺死了 ;
activity.finishAffinity();上述代碼可以關(guān)閉所有的本任務(wù)棧內(nèi)的 Activity 窗口界面 , 自然就可以殺死本進(jìn)程 ; 如果想要?dú)⒌酶鼜氐?, 使用該方法與上面的兩種殺進(jìn)程的方法結(jié)合使用 ;
殺死前臺進(jìn)程 , 將所有的 Activity 關(guān)閉 , 然后調(diào)用 android.os.Process.killProcess(android.os.Process.myPid()) 或 java.lang.System.exit(0) 中的一種方法即可 ;
關(guān)閉 Activity 建議使用 Activity 類的 finishAffinity() 方法 , 該方法可以關(guān)閉當(dāng)前前臺任務(wù)棧中的所有 Activity , 之后再調(diào)用上述兩個(gè)殺進(jìn)程的方法 , 即可成功關(guān)閉進(jìn)程 , 應(yīng)用不會(huì)重啟 ;
// 1. 調(diào)用 Activity 類的 finishAffinity() 方法關(guān)閉任務(wù)棧中所有 Activity 界面 activity.finishAffinity();// 2. 使用 Android 的進(jìn)程 api 類 `android.os.Process` 殺死進(jìn)程 android.os.Process.killProcess(android.os.Process.myPid());// 3. 使用 Java 的進(jìn)程 api 類 `java.lang.System` 殺死進(jìn)程 java.lang.System.exit(0);三、Android 殺其它進(jìn)程
獲取 ActivityManager , 然后使用 killBackgroundProcesses 方法殺死后臺的其它進(jìn)程 ;
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); activityManager.killBackgroundProcesses("com.google.example");需要使用 android.permission.KILL_BACKGROUND_PROCESSES 權(quán)限 ;
在清單文件中配置該權(quán)限 :
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>總結(jié)
以上是生活随笔為你收集整理的【Android 应用开发】Android 杀进程总结 ( 杀后台进程 | 杀前台进程 | 杀其它进程 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数字信号处理】数字信号处理简介 ( D
- 下一篇: 【数字信号处理】数字信号处理简介 ( 抽