いくつかのタスクを実行するスレッドを開始するために、broadcastreceiverを介して定期的に呼び出される非スティッキーサービスがあります。スレッドの実行中、進行中の通知には、進行状況情報と、ステータスページを表示するためのボタンが表示されます。
このステータスページには、現在処理されているアイテムのリストが表示されます。このリストは、スレッドとこのアクティビティの両方で使用される静的ArrayListです。ステータスアクティビティが開始されると、nullチェックがあります。
if(Global.statusItems == null)
{
Global.statusItems = new ArrayList<StatusPageItem>();
}
スレッドはまだ実行中であり、ArrayListに完全にアクセスできますが、Statusアクティビティが発生するとすぐに、nullであるかのようにArrayListが再作成されます。
これまでのところ、ObjectOutputStreamを使用してリストを保存し、ステータスページの開始時にリロードしない限り、問題を解決することはできませんでした。私が使用できるよりエレガントなソリューションはありますか?
よろしく、クイント。