Android 从服务更新内存模型

Android 从服务更新内存模型,android,service,broadcastreceiver,intentservice,Android,Service,Broadcastreceiver,Intentservice,我计划编写一个IntentService来下载新软件包(应用程序的新项目)。我唯一的问题是,当我播放下载结束时,如果应用程序正在运行,我必须更新内存模型。如果没有运行,则无需执行任何操作,因为应用程序将在启动时从DB创建内存模型。就性能而言,UI是从内存而不是从数据库工作的。 你知道我该怎么做,还是我完全走错了方向 编辑:为了清晰起见:假设我有MyIntentService,它将新行插入数据库,然后激发一个BroadcastIntent,由MyBroadcastReceiver接收。现在我面临的

我计划编写一个IntentService来下载新软件包(应用程序的新项目)。我唯一的问题是,当我播放下载结束时,如果应用程序正在运行,我必须更新内存模型。如果没有运行,则无需执行任何操作,因为应用程序将在启动时从DB创建内存模型。就性能而言,UI是从内存而不是从数据库工作的。 你知道我该怎么做,还是我完全走错了方向


编辑:为了清晰起见:假设我有MyIntentService,它将新行插入数据库,然后激发一个BroadcastIntent,由MyBroadcastReceiver接收。现在我面临的问题是,MyBroadcastReceiver的实例应该以某种方式通知模型类,这是一个单例。问题是,这个模型(singleton)实例应该只有在我的应用程序运行时才可用,因为它只被UI使用(只使用DB会让速度变慢)。如果没有可使用的UI,则无需通知我的模型实例。我不能让我的模型成为一个广播接收器,因为它们是随时启动的,而且它们也不能是单例的(据我所知)

只有你自己的话而没有密码,回答和说出一些东西有点困难。可能会使项目中的其他独立部分从DB中初始化/创建“内存模型”,该部分应为非独立部分,因此您可以随时随地使用它,在启动活动/应用程序或获取广播时。

我通过将UI注册为广播接收器并根据需要更新模型来解决此问题。在我的解决方案中,如果UI存在,模型将始终被实例化


另一个解决方案是检查模型是否实例化,并且只有在实例化的情况下才继续进行。

公平地说,我应该更详细一些。请查看我的编辑。我使用的是观察者,因此我知道是否有已注册的UI组件处于活动状态。我没有使用BroadcastReceiver,但方法类似。