2

我有一个问题:我喜欢使用单例模式来创建一个MainController处理我所有应用程序数据的方法。

这是 android 中的一种不好的做法,还是专业的软件开发人员也能做到这一点?

4

2 回答 2

7

避免在单例中使用活动上下文。它可以防止垃圾收集器清除该活动的链接。请记住,android 可以随时重新创建您的应用程序,因此请准备好您的单例将丢失其状态。saveInstanceState/restoreInstanceState在这些情况下有帮助。

于 2013-10-28T13:36:21.223 回答
1

如前所述,单例模式是一种设计模式,因此使用它没有问题。

但是,请记住,应用程序可能随时被终止,因此您的单例也会被终止。您应该能够重新构建您的课程。

例如,我通常使用静态get(Context)而不是,get()这样我就可以使用此上下文从 SharedPreferences 或 Files 实例化我的单例,以防万一它不存在。

无论如何,单例是一种可以在 Android 上使用的设计模式。

于 2013-10-28T13:28:37.260 回答