我有一个单例,我在其中存储不同 fragment 使用的共享信息。
另一方面,我有一个生成守护线程的服务。该线程连接到事件总线并负责从外部服务器接收事件。当它收到新事件时,更新单例并通过 LocalBroadcastManager
通知 fragment 。
从创建的线程更新单例而不同步是否正确?我的意思是关于 Java/Android 内存模型。 (单例只能从此服务/线程更新)。
这种方法好还是有更好的模式来实现它?
最佳答案
不,Android 中应避免使用单例模式。为什么?因为单例模式使用静态实例字段。应该避免这样的静态字段,因为操作系统可以卸载您的类,并且您会丢失其所有内容。所以我的建议是删除单例模式或在应用程序的实例中使用它(我的意思是扩展应用程序类)。
关于android - 从守护线程更新单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30692444/