-6

我有一个应用程序,我需要制作它的库。该应用程序有一个服务,对我来说缺少的部分是我有一个从 Application 继承的类,以便拥有一个单例。我该如何更换它?10xs,那鸿

4

1 回答 1

2

我该如何更换它?

作为拥有“20 年编程经验”的人,您已经知道答案:使用标准 Java 单例

如果您愿意,欢迎您强制使用您的库的应用程序使用您的自定义Application子类。一般来说,使用Application子类并不是一个特别灵活的解决方案,因为只能有一个子类,这就是为什么推荐使用标准 Java 单例的原因。

只需确保您的 Java 单例(如您的自定义Application类)不会引入内存泄漏。例如,Java 单例不应该持有 aContext 除了Application对象,因为任何其他对象都Context应该是瞬态的(例如, an Activity)。

当然,更好的是尽量避免自定义Application类和单例,尽管它们在 Android 中对于内存缓存之类的东西非常有用。

于 2013-06-10T14:34:25.470 回答