リモート サーバーまたは独自のキャッシュ ディレクトリからオーディオ ファイルとビデオ ファイルを再生するアプリケーションがあります。「ホーム」または「戻る」ボタンでアプリケーションを最小化すると、状態が onStop() に変わります。次に、アイドル状態 (20 ~ 50 分程度) の後、Activity Manager は「不要」というメッセージをアクティビティに送信し、アクティビティを閉じます。
この場合のアクティビティ ライフサイクルによると、アプリケーションは onCreate (図の onStop() から左側の分岐) にジャンプします。アクティビティの表現が正しくない場合、トラック リストを含むフラグメントが既存のフラグメントの上に読み込まれ始め、UI が使用できなくなります。この状況を修正する唯一の方法は、アプリケーションを完全に再起動することです。
問題を解決するには2つの方法があると思います:
1)システムがアプリケーションを強制終了しないようにします(このアプローチは Android の通常のアプリケーション ライフサイクルに違反し、バッテリーの放電を加速するため、正しくない可能性があります)。
2) OS がアプリケーションを強制終了し、リソースをクリーンアップして、OS が新しいアクティビティを適切に作成できるようにする状況を検出します。
2 番目のバリアントが望ましいと思います。
それを実装する方法についていくつかのアイデアはありますか?Android が私のアプリケーションを強制終了し、このアクションに反応しようとしていることを検出することは可能ですか?
前もって感謝します!