アプリがバックスタックに長時間放置されたときのアプリの状態をテストしたいと考えています。
20 個のアプリを次々に開くと、最後に使用したアプリ (テストしているアプリ) が最終的に終了し、savedInstanceState が発生します。アプリをバックスタックに埋めるために、さらに 20 個のアプリを開くことなく、テスト中のアプリのこの動作をシミュレートする方法はありますか?
アプリがバックスタックに長時間放置されたときのアプリの状態をテストしたいと考えています。
20 個のアプリを次々に開くと、最後に使用したアプリ (テストしているアプリ) が最終的に終了し、savedInstanceState が発生します。アプリをバックスタックに埋めるために、さらに 20 個のアプリを開くことなく、テスト中のアプリのこの動作をシミュレートする方法はありますか?
はい、簡単な方法があります。[開発者向けオプション] で [アクティビティを保持しない] を有効にするだけです。アクティビティは、離れるとすぐに破棄され、戻ったときに呼び出されます。onRestoreInstanceState()
または、構成の変更 (向きなど) を強制することもできます。これにより、アクティビティも再作成されます。このアプローチの問題点の 1 つは、一部の JellyBean/KitKat バージョンにエミュレーターのローテーションに失敗するバグがあることです。(ただし、これはデバイス上で正常に機能します。)
回避策は、 RotateScreenOrientation.apkをインストールすることです。これにより、エミュレーターを強制的に縦向きまたは横向きにすることができますが、エミュレーターの起動時にユーザー データをワイプするオプションが有効になっている場合、これはすぐに面倒になります。