6

テストの目的で、Androidシステムがバックグラウンドアプリケーションの状態を保存して強制終了することを決定した場合の状況を、メモリ最適化の目的で通常行うのと同じ方法で簡単に再現する必要があります。実際、ユーザーが元に戻したときに、このような削除されたプロセスの復元プロセスもテストする必要があります。

簡単なアプローチは、アプリケーションを開いてから、できるだけ多くのリソースを割り当てようとする他のタスクを開くことです。それは複雑すぎて信頼できません。

私はSOでこの質問を見つけましたが、答えは単にプロセスを強制終了することを意味します。これは、ユーザーがに切り替えることを決定したときに、強制終了されたプロセスを保存された状態でさらに自動的に復元する手段がないため、同等ではないようです。アプリケーション。私が正しく理解していれば、そのような明示的な強制終了後、アプリケーションが開始された場合、保存された状態からではなく、最初から実行されます。私が間違っていたら、訂正してください。

Androidのドキュメントによると、必要ActivityManager.killBackgroundProcesses(packageName)なのはによって実行されますが、これはプログラムによる方法です。UIから同じオプションをすでに提供しているユーティリティはありますか?

4

1 に答える 1

3

私が正しく理解していれば、そのような明示的な強制終了後、アプリケーションが開始された場合、保存された状態からではなく、最初から実行されます。

これは、アプリの起動方法によって異なります。ランチャーアイコンから意味する場合は、はい。ただし、状況に応じて、ユーザーは[戻る]ボタンまたは最近のタスクリストを介してあなたに戻ることができ、それらはユーザーを「最初」ではなく、離れた場所に戻すことができます。

UIから同じオプションをすでに提供しているユーティリティはありますか?

Android 4.0以降のデバイスで、アプリをバックグラウンドで使用して、最近のタスクリストを開き(HOMEを長押しするか、専用のRECENTSアフォーダンスを押します)、アプリを右にスワイプします。これは基本的killBackgroundProcesses()にそのパッケージ名を要求しているようです。

私はエミュレーターでこれを試していませんが、おそらく同じことをします。

于 2012-12-21T13:05:37.397 に答える