2012-01-03 10 views
14

Androidをリサイクルするために、いつでもAndroidはバックグラウンドアプリケーションのプロセスを強制終了する権利を留保しています。アプリケーションはまだ動作していますが、私の静的変数はすべて消えています(this記事を参照)。Android Simulator:メモリが不足してプロセスを再起動する方法を簡単にシミュレートできますか?

私はこのシナリオで私のアプリケーションの動作をシミュレートしたいと思います。これを行う最も簡単な方法は何ですか?確かに、たくさんのメモリを割り当てる追加のアプリを書くよりも、簡単で予測可能な方法が必要です。

+0

: – tidbeck

+0

@tidbeck:あなたの推測は私のものと同じくらい良いです。私はこの記事を参照しています:http://android-developers.blogspot.com/2010/04/multitasking-android-way.html –

+0

[Android:再起動サービスを強制する方法(低メモリ動作時にOSが強制終了する) ](http://stackoverflow.com/questions/7257378/android-how-to-force-restart-service-os-killing-on-low-memory-behavior) – Flow

答えて

3

短い答えを使用してそれを殺します。実際のデバイスを使用している場合は、設定→開発者オプション→アクティビティを保存しないで設定を変更してください。

詳細は、thisthisの回答を参照してください。

+0

ありがとう! Androidアプリをアップデートしているときにこれを確認します。 –

+0

これはプロセスの再起動ではなく、構成の変更をテストします。これらは2つの異なるものです。 – ZakTaccardi

+0

アクティビティをグローバルなアプリケーションコンテキストを破壊しないようにするには、グローバルアプリケーションコンテキストを破棄して、再実行時にアプリケーションonCreate()から開始しようとし、最後に開いたアクティビティを開始できるようにしたい –

2

代替方法は、あなたのパッケージにkillBackgroundProcesses()を呼び出す超基本的なアプリケーションを構築することです。この方法は、カーネルがそれらのプロセスを強制終了してメモリを再利用するのと同じですから、システムは将来これらのプロセスを再起動します必要に応じて。"これは、独自のプロセス `android.os.Processを殺すと異なってい

$ adb shell am kill com.my.package 
1

は、あなただけのシミュレータやデバイス上のアクティビティマネージャシェルコマンドを使用することができますバックグラウンドプロセスを殺す(それでも歴史を経て再起動)します。 killProcess(android.os.Process.myPid()) `?
関連する問題