我有一个问题:我喜欢使用单例模式来创建一个MainController
处理我所有应用程序数据的方法。
这是 android 中的一种不好的做法,还是专业的软件开发人员也能做到这一点?
避免在单例中使用活动上下文。它可以防止垃圾收集器清除该活动的链接。请记住,android 可以随时重新创建您的应用程序,因此请准备好您的单例将丢失其状态。saveInstanceState
/restoreInstanceState
在这些情况下有帮助。
如前所述,单例模式是一种设计模式,因此使用它没有问题。
但是,请记住,应用程序可能随时被终止,因此您的单例也会被终止。您应该能够重新构建您的课程。
例如,我通常使用静态get(Context)
而不是,get()
这样我就可以使用此上下文从 SharedPreferences 或 Files 实例化我的单例,以防万一它不存在。
无论如何,单例是一种可以在 Android 上使用的设计模式。