我计划编写一个 IntentService 来下载新包(应用程序的新项目)。我唯一的问题是,当我广播下载结束时,如果应用程序正在运行,我必须更新内存模型。如果它没有运行,则无需执行任何操作,因为应用程序将在启动时从数据库创建内存模型。在性能方面,UI 是从内存中工作的,而不是从数据库中工作的。知道我应该如何接近,还是我完全走错了路?
编辑:为了清楚起见:假设我有 MyIntentService,它将新行插入到我的数据库中,然后触发由 MyBroadcastReceiver 接收的 BroadcastIntent。现在我面临的问题是,MyBroadcastReceiver 的实例应该以某种方式通知 Model 类,它是一个单例。问题是,这个模型(单例)实例只有在我的应用程序正在运行时才应该可用,因为它只被 UI 使用(只使用 DB 会很慢)。如果没有 UI 可以使用它,则无需通知我的模型实例。我不能让我的模型成为广播接收器,因为它们随时都会启动,而且它们也不能是单例的(据我所知)。