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