国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

安卓強(qiáng)制殺死進(jìn)程的幾種方法收集匯總,不足之處請包涵。

2019-11-06 09:41:37
字體:
供稿:網(wǎng)友
一、ActivityManager.java    killBackgroundPRocesses 該方法的使用目前僅見與Settings模塊在應(yīng)用管理中對正在運(yùn)行的后臺應(yīng)用進(jìn)行停止。須在manifest文件中申明相關(guān)權(quán)限。調(diào)用該方法殺掉后臺進(jìn)程后,系統(tǒng)會根據(jù)一系列的判斷來決定是否有必要重新啟動該進(jìn)程。不會殺掉有persistent 屬性的進(jìn)程。不會殺掉system級別權(quán)限的進(jìn)程。被殺掉的進(jìn)程當(dāng)前的ADJ級別要大于SERVICE_ADJ。電視開發(fā)中,在殺死某些直播軟件后起聲音也可能不會停止。ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);activityManager.killBackgroundProcesses(包名);權(quán)限:<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>二、ActivityManager.java    forceStopPackage 該方法的使用目前也僅見于Settings模塊。擁有相同uid的進(jìn)程都會被殺掉。運(yùn)行其中的服務(wù)都是停止掉,activity都會移除掉,應(yīng)用不會重新啟動。須在manifest文件中申明相關(guān)的權(quán)限。經(jīng)測在4.x的系統(tǒng)中無法使用此方法。ActivityManager mAm = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); mAm.forceStopPackage(包名);權(quán)限:<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>三、Process.java  KillProcess 最終調(diào)用的是linux API kill()方法發(fā)送SIGKILL信號。理論上該接口允許我們憑借pid號殺掉任意進(jìn)程,但Kernel 仍然會對調(diào)用者進(jìn)行標(biāo)準(zhǔn)的檢查已判斷哪些進(jìn)程允許被調(diào)用者殺掉。以下幾種情況可以調(diào)用此方法:1、調(diào)用者自殺。2、被殺進(jìn)程是由調(diào)用者創(chuàng)建。3、共享相同UID的進(jìn)程能夠互殺。此方法在Google原生代碼中多用于Framework 層AM服務(wù),單個應(yīng)用運(yùn)用此方法較少。大多數(shù)的用法為進(jìn)程自我銷毀,基本沒有看到運(yùn)用此方法殺非本進(jìn)程的用法。基本用法:android.os.Process.killProcess(android.os.Process.myPid());    Process.killProcess(Process.myPid());    System.exit(10);四、System.java  exit導(dǎo)致虛擬機(jī)停止運(yùn)行并且該應(yīng)用退出,所帶參數(shù)如果非0,則說明是非正常退出。此方法在Google原生代碼中多用于cts類和tool類,即(J2SE代碼中對應(yīng)的main方法中調(diào)用此方法退出),單個應(yīng)用程序基本沒有運(yùn)用此方法。平臺偶爾有使用此方法完成應(yīng)用啟動后的退出。但貌似該方法會引起findBug問題。不建議使用。五、Runtime.java  exit 其實(shí)system.java 的 exit方法的具體實(shí)現(xiàn)即為: Runtime.getRuntime().exit(code);Google原生代碼中該方法僅在于Wallpaper相關(guān)的幾個動態(tài)WallPaper對應(yīng)的Activity中的onPause中使用過。平臺基本都是采用此類方法完成應(yīng)用的自動退出。任務(wù)完成后,發(fā)一個延時消息,完成應(yīng)用進(jìn)程的自我銷毀。若無延時,退出時會偶現(xiàn)一些fc、或者退出toast服務(wù)顯示等異常情況。其標(biāo)準(zhǔn)用法如下:private static final int MSG_DELAY_EXIT_APP = 0;    private static Handler mHandler = new Handler() {        public void handleMessage(android.os.Message msg) {            switch (msg.what) {            case MSG_DELAY_EXIT_APP:Runtime.getRuntime().exit(0);                break;            }        }    };mHandler.sendEmptyMessageDelayed(MSG_DELAY_EXIT_APP, 4000);
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 旬邑县| 铜鼓县| 长顺县| 延边| 通河县| 峨眉山市| 麟游县| 盱眙县| 遂昌县| 福贡县| 东宁县| 宜良县| 罗甸县| 伊宁市| 五寨县| 偏关县| 广东省| 安塞县| 平江县| 梨树县| 西宁市| 瑞昌市| 桃园县| 永丰县| 胶南市| 尼木县| 舟曲县| 慈溪市| 平果县| 南江县| 柯坪县| 开平市| 东兴市| 垫江县| 宜都市| 高唐县| 大洼县| 吉安市| 邵东县| 双流县| 鄄城县|