アクティビティ B からアクティビティ A に戻ると (バック プレスを介して)、多くの GC (logcat に表示) が発生し、アプリがアクティビティ A に戻る 1 秒前に停止するという問題に直面しています。
これに対する解決策はありますか?
キウイ
アクティビティ B からアクティビティ A に戻ると (バック プレスを介して)、多くの GC (logcat に表示) が発生し、アプリがアクティビティ A に戻る 1 秒前に停止するという問題に直面しています。
これに対する解決策はありますか?
キウイ
GC にはそれほど時間がかかりません。Android でのアクティビティの変更は簡単な作業ではありません。終了するアクティビティのコールバックの一時停止と、返されたアクティビティのコールバックの再開を繰り返す必要があります。これがおそらく最も時間がかかるため、両方のアクティビティのonPause
、onStop
、onDestroy
、のコールバックにかかる時間を測定することから始めます。onStart
onResume
また、Android ツールのTraceViewを使用してアクティビティをプロファイリングし、時間がかかりすぎるものを確認することもできます。
お勧めしませんが、どうしても GC を回避しようとする場合は、ユーザーがバック キーを押す前に手動で呼び出すことができます。これにより、メモリができるだけ解放され、GC にヒットする可能性が低くなります。アクティビティが変更されたときにヒットし、そのために呼び出すことができますSystem.gc()