1. 程式人生 > >Android中幾種程序

Android中幾種程序

前臺程序:

即與使用者正在互動的Activity或者Activity用到的Service等,如果系統記憶體不足時前臺程序是最後被殺死的

可見程序:

可以是處於暫停狀態(onPause)的Activity或者繫結在其上的Service,即被使用者可見,但由於失去了焦點而不能與使用者互動.

服務程序:

其中執行著使用startService方法啟動的Service,雖然不被使用者可見,但是卻是使用者關心的,例如使用者正在非音樂介面聽的音樂或者正在非下載頁面自己下載的檔案等;當系統需要空間執行前兩者程序(–>指的是前臺程序和可見程序)時才會被終止.

後臺程序:

其中執行著執行onStop方法而停止的程式,但是卻不是使用者當前關心的,例如後臺掛著的QQ,這樣的程序系統一旦沒了有記憶體就首先被殺死.

空程序:

不包含任何應用程式的程式元件的程序,這樣的程序系統是一般不會讓他存在的,為了進行快取,使下次App啟動的時候更快,當系統需要記憶體是最先被殺死.

如何避免後臺程序被殺死:

  1. 呼叫startForegound,讓你的Service所在的執行緒成為前臺程序
  2. Service的onStartCommond返回START_STICKY或
    TART_REDELIVER_INTENT
  3. Service的onDestroy裡面重新啟動自己
  4. root之後提升為系統級App
  5. 在Jni層使用c程式碼fork一個程序
  6. 在清單檔案中,intent-filter節點中新增android:priotity屬性,讓其等於1000,這是最高的優先順序,不容易被殺死
  7. 在前臺放一個畫素的頁面,例如QQ