複数の画面を持つアプリケーションがあります。ABCD と D が外部アプリケーションを開く可能性があるとしましょう。
このすべてのアクティビティはデータ、配列リストを互いに共有し、Application クラスでそれへの参照を作成しました。(Application を拡張するクラスを作成し、マニフェストを参照しました。) したがって、これらはすべて arraylist の単一インスタンスを使用しています。A は最初の画面から arraylist を初期化し、他のユーザーがそれを変更する可能性があります。
問題は、エミュレータでこれをテストしても何も壊れないことです。しかし、「一部の」電話では、ナビゲーション arraylist の 3 つ以上の画面がヒープから消去されるだけです。どんなに小さいサイズでも。