在Service和Activity之间共享单例Java类

3

在Android应用程序中,一个Singleton Java类同时被Service和Activity使用可能存在潜在问题吗?

示例:Singleton是Singleton,Activity是A,Service是S

Service S拥有Singleton的句柄。S请求Singleton启动Activity。Activity调用Singleton定义的操作方法。

我在应用程序中有几个Singletons,它们封装了不同功能区域的操作。因此,Activity将与各种Singletons交互以执行各种操作。

2个回答

3

我认为这种方法没有问题。我经常使用单例模式,从未遇到过任何问题。你只需要记住,当android需要内存时,可能会删除单例实例,因此每次获取单例实例时都需要检查是否为null。


感谢您的反馈!很高兴知道这种方法对您而言没有问题。 - and-dev

3

通常情况下,这不会引起问题。唯一的情况是在使用运行在单独进程中的服务时(服务定义了android:process属性,以'.'开头)。在这种情况下,您将简单地拥有单例的两个实例 - 每个进程一个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接