在 Android 应用程序中,Service 和 Activity 使用 Singleton Java 类是否存在潜在问题?
示例:Singleton 是 Singleton Activity 是一个 Service S
服务 S 有一个单例句柄。S 请求 Singleton 启动 Activity。Activity 调用 Singleton 中定义的操作方法。
我的应用程序中有几个单例,它们封装了功能区域的各种操作。所以Activity会和各种Singleton交互来执行各种操作。
在 Android 应用程序中,Service 和 Activity 使用 Singleton Java 类是否存在潜在问题?
示例:Singleton 是 Singleton Activity 是一个 Service S
服务 S 有一个单例句柄。S 请求 Singleton 启动 Activity。Activity 调用 Singleton 中定义的操作方法。
我的应用程序中有几个单例,它们封装了功能区域的各种操作。所以Activity会和各种Singleton交互来执行各种操作。
我认为这种方法没有问题。我经常使用单例,从来没有遇到任何问题。您只需要记住,android 可能会在需要内存时删除单例实例,因此每次获取单例实例时都需要检查 null。
通常它不会引入问题。您可以预料到的唯一情况 - 使用在单独进程中运行的服务(服务定义了以“。”开头的android:process
属性)。在这种情况下,您只需拥有两个单例实例 - 每个进程一个。