通过Service和Activity共享单例java类

时间:2012-10-30 00:03:39

标签: android service android-activity singleton

Android应用程序中的服务和活动是否存在使用Singleton Java类的潜在问题?

示例:Singleton是Singleton 活动是A. 服务S

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

我的应用程序中有几个单例,它们封装了功能区域的各种操作。因此,活动将与各种单身人士互动以执行各种操作。

2 个答案:

答案 0 :(得分:3)

我不认为这种方法存在问题。我经常使用单身人士,从来没有遇到任何问题。你只需要记住android可能在需要内存时删除单例实例,所以你需要在每次获得单例实例时检查null。

答案 1 :(得分:2)

通常它不会引入问题。唯一的情况您可以期待它 - 使用在单独进程中运行的服务(服务已定义android:process attribute,以“。”开头)。在这种情况下,您将只有两个单例实例 - 每个进程一个。