欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android結束進程的方法詳解

 更新時間:2016年03月10日 09:40:42   作者:瘋狂の小石子  
這篇文章主要介紹了Android結束進程的方法,結合實例形式分析了Android結束進程的具體步驟,實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下

本文實例講述了Android結束進程的方法。分享給大家供大家參考,具體如下:

最近在做一個類似與任務管理器的東西,里面有個功能,可以通過這個管理器結束掉其他的進程。

在Android平臺下,結束進程的方法還是比較多的。首先指明,此處的“結束進程”,包含了結束自身進程和結束其他進程兩個方面。通過查閱SDK文檔和網上的一些資料,自己找到一些結束進程的方法。在這里做一些歸納和總結,文章的部分信息有可能來自網上已有的文章和帖子,由于過了比較長時間,所以若發(fā)現(xiàn)本文與其他文章雷同,請諒解。

一、結束一個活動Activity

要主動的結束一個活動Activity,(先強調一下,是結束一個活動,而不是進程)眾所周知,肯定是finish方法啦,這個就毋庸置疑了,而且這個方法最后會調用Activity的生命周期函數(shù)onDestroy方法,結束當前的Activity,從任務棧中彈出當前的Activity,激活下一個Activity。當然其他的finish系列方法,我們不在這里做詳細討論,有興趣的同學可以自己查閱一下SDK 的文檔。

二、強制結束當前的進程

強行結束當前進程有兩個方法。(呵呵,這里就是結束進程了)

1、killProcess(int pid) 例子:

android.os.Process.killProcess(android.os.Process.myPid());

對于這個方法,需要詳細解釋一下。在SDK的文檔中,解釋如下:

Kill the process with the given PID. Note that, though this API allows us to request to kill any process based on its PID, the kernel will still impose standard restrictions on which PIDs you are actually able to kill. Typically this means only the process running the caller's packages/application and any additional processes created by that app; packages sharing a common UID will also be able to kill each other's processes.

英語不好,不能準確翻譯,所以希望大家自己理解,免得對大家造成誤解。我個人對這句話的解釋就是,這個方法使用是有條件的:

a、將被殺掉的進程 和 當前進程 處于同一個包或者應用程序中;

b、將被殺掉的進程 是由當前應用程序所創(chuàng)建的附加進程;

c、將被殺掉的進程 和 當前進程 共享了普通用戶的UID。(這里的普通用戶,是相對于Root權限的用戶來說的)

2、System.exit(int code) 例子:

System.exit(0);

該方法只能用于結束當前進程自身,個人覺得在程序遇到異常,無法正常執(zhí)行時,可以通過這個方法強制退出。

需要注意的是,這兩個方法,會導致進程非正常退出,就是說,進程退出時不會去執(zhí)行onPause、onStop和onDestroy方法,那么進程很有可能錯過了保存數(shù)據(jù)的機會。因此,這兩個方法最好使用在出現(xiàn)異常的時候!

三、結束另一個進程

要通過一個進程去結束另一個進程。在之前的SDK版本中,一直使用方法restartPackage(packageName)方法,但是在Android的開發(fā)文檔中介紹說,這個函數(shù)會導致一些問題( the previous behavior here is no longer available to applications because it allows them to break other applications by removing their alarms, stopping their services, etc.),所以建議大家使用一個新的方法:

void killBackgroundProcesses(String packageName)

由于這個方法沒有返回值,所以我們也不知道我們的目標進程是否真的退出了。但是,我目前只發(fā)現(xiàn)了這個可以結束另一個進程的方法。

四、退出到主屏幕(記得是對當前進程的處理)

這個方法,也是退出當前進程的一個方法。如果我們在進程中創(chuàng)建了很多的Activity,但是又不想關閉時去退出不在任務棧頂?shù)腁ctivity,那么就可以直接使用這個方法了。這個方法是通過查閱網上資料看到的。具體可參考本站文章《Android 按后退鍵退出Android程序的實現(xiàn)方法

功能:當按下返回鍵時,就返回到主屏幕,并帶有參數(shù)FLAG_ACTIVITY_CLEAR_TOP,會清理掉當前的活動。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // 按下的如果是BACK,同時沒有重復
        Intent home = new Intent(Intent.ACTION_MAIN);
        home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        home.addCategory(Intent.CATEGORY_HOME);
        startActivity(home);
    }
    return super.onKeyDown(keyCode, event);
}

此方法確實結束了當前進程,但是通過Android平臺的App Manager工具去查看的話,使用2.3.3的模擬器,會發(fā)現(xiàn)剛剛被結束的進程會以Cached background Process的形式存在,并且模擬器給出了解釋,說是為了下一次更快捷的啟動這個進程。

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android調試技巧與常見問題解決方法匯總》、《Android開發(fā)入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

  • Android studio 快捷鍵大全

    Android studio 快捷鍵大全

    android studio使用教程,主要為大家介紹的是android studio快捷鍵,如果我們掌握了一些常用快捷鍵,那么在使用android studio的過程中會達到事半功倍的效果哦
    2016-01-01
  • Android開發(fā)實現(xiàn)抽屜菜單

    Android開發(fā)實現(xiàn)抽屜菜單

    這篇文章主要為大家詳細介紹了Android開發(fā)實現(xiàn)抽屜菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Android開發(fā)教程之獲取系統(tǒng)輸入法高度的正確姿勢

    Android開發(fā)教程之獲取系統(tǒng)輸入法高度的正確姿勢

    這篇文章主要給大家介紹了關于Android開發(fā)教程之獲取系統(tǒng)輸入法高度的正確姿勢,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Android具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • 理解Android的手勢識別提高APP的用戶體驗

    理解Android的手勢識別提高APP的用戶體驗

    對于觸摸屏,其原生的消息無非按下、抬起、移動這幾種,我們只需要簡單重載onTouch或者設置觸摸偵聽器setOnTouchListener即可進行處理
    2013-06-06
  • 詳解Android TableLayout表格布局

    詳解Android TableLayout表格布局

    表格布局的標簽是TableLayout,TableLayout繼承了LinearLayout。所以它依然是一個線性布局,通過本文給大家介紹Android TableLayout表格布局,感興趣的朋友一起學習吧
    2016-02-02
  • Android倒計時的開始與停止 剩余時分秒的展示

    Android倒計時的開始與停止 剩余時分秒的展示

    這篇文章主要為大家詳細介紹了Android倒計時的開始與停止,剩余時分秒的展示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Android集成支付寶支付功能示例

    Android集成支付寶支付功能示例

    本篇文章主要介紹了Android集成支付寶支付功能示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android自定義控件實現(xiàn)下拉刷新效果

    Android自定義控件實現(xiàn)下拉刷新效果

    這篇文章主要為大家詳細介紹了Android自定義控件實現(xiàn)下拉刷新效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android中系統(tǒng)自帶鎖WalkLock與KeyguardLock用法實例詳解

    Android中系統(tǒng)自帶鎖WalkLock與KeyguardLock用法實例詳解

    這篇文章主要介紹了Android中系統(tǒng)自帶鎖WalkLock與KeyguardLock用法,結合實例形式較為詳細的分析了WalkLock與KeyguardLock的功能、作用、使用方法與相關注意事項,需要的朋友可以參考下
    2016-01-01
  • 實現(xiàn)一個Android鎖屏App功能的難點總結

    實現(xiàn)一個Android鎖屏App功能的難點總結

    這篇文章主要介紹了實現(xiàn)一個Android鎖屏App功能的難點總結,可以有效的解決鎖屏開發(fā)的問題,有需要的可以參考一下。
    2016-11-11

最新評論