在Android中使用Singleton模式是不好的做法吗?

时间:2013-10-28 13:21:53

标签: android singleton

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

这在Android中是不好的做法,还是专业软件开发人员做的相同?

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

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

但是,请记住,应用程序可能会在任何时候被杀死,因此您的单身人士也会被杀死。你应该能够重建你的班级。

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

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