我有一个应用程序,我需要制作它的库。该应用程序有一个服务,对我来说缺少的部分是我有一个从 Application 继承的类,以便拥有一个单例。我该如何更换它?10xs,那鸿
问问题
42 次
1 回答
2
我该如何更换它?
作为拥有“20 年编程经验”的人,您已经知道答案:使用标准 Java 单例。
如果您愿意,欢迎您强制使用您的库的应用程序使用您的自定义Application
子类。一般来说,使用Application
子类并不是一个特别灵活的解决方案,因为只能有一个子类,这就是为什么推荐使用标准 Java 单例的原因。
只需确保您的 Java 单例(如您的自定义Application
类)不会引入内存泄漏。例如,Java 单例不应该持有 aContext
除了Application
对象,因为任何其他对象都Context
应该是瞬态的(例如, an Activity
)。
当然,更好的是尽量避免自定义Application
类和单例,尽管它们在 Android 中对于内存缓存之类的东西非常有用。
于 2013-06-10T14:34:25.470 回答