我有一个非粘性服务,它通过广播接收器定期调用,以启动一个执行某些任务的线程。当线程正在运行时,正在进行的通知会显示一些进度信息,以及用于调出状态页面的按钮。
此状态页面显示当前正在处理的项目列表,此列表是线程和此活动都使用的静态 ArrayList。当状态活动开始时,我有一个空检查:
if(Global.statusItems == null)
{
Global.statusItems = new ArrayList<StatusPageItem>();
}
线程仍在运行,并且可以很好地访问 ArrayList,但是一旦启动 Status Activity,它将重新创建 ArrayList,就好像它为空一样。
到目前为止,如果不使用 ObjectOutputStream 保存列表并在状态页面启动时重新加载,我无法解决问题。我可以使用更优雅的解决方案吗?
问候,昆特。