2011年2月25日金曜日

Android 2.2で、自プロセスを終了する方法

 Androidはアプリを終了させてもプロセスは生き続けている
画面はアプリ終了に見えるがバックグラウンドで生きている
メモリがいっぱいになって来たらAndroidが自動的に開放する

その前に、自分で開放した方がいい

Android 2.1(API Level 7)までは「ActivityManager#restartPackage」で自プロセスを終了できた
Android 2.2(API Level 8)以降で新しく定義された「ActivityManager#killBackgroundProcesses」では自プロセスを簡単に終了できなくなった
自プロセスがActiveの場合は終了できない。できる方法があるのかもしれないがわからない
なので、アプリをバックグラウンドに移してから終了させる

・ホーム画面を表示するインテント(Action: Intent.ACTION_MAIN / Category: Intent.CATEGORY_HOME)を投げる
・ホーム画面が表示される程度にThread.sleepで待つ
・killBackgroundProcesses(getPackageName())を呼ぶ

・参考URL
http://frontallobe.kentauros.net/home/android



   ↓クリックで、このブログの評価が上がり執筆者が喜びます
 にほんブログ村 IT技術ブログ プログラム・プログラマーへ
  にほんブログ村

0 件のコメント: