扩展应用程序还是使用单例?

时间:2013-06-06 21:31:29

标签: java android singleton

我有一个android项目,我有一个或多个我的活动需要访问的不同对象现在我正在考虑创建Application的子类但是在应用程序的documentation下它声明了以下内容:

  

通常不需要子类Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果你的单例需要一个全局上下文(例如注册广播接收器),那么检索它的函数可以给一个Context,它在第一次构造单例时在内部使用Context.getApplicationContext()。

我的问题很简单,使用静态单例类来包含所有对象是最好的实践吗?或者我是否正确地认为扩展申请是更好的选择?

1 个答案:

答案 0 :(得分:2)

要回答你的问题,我会使用单例容器来访问这些对象,通过应用程序上下文用上下文初始化该类(你很可能需要一个Context);但是你会发现维护这些和单身容器很难。

要解决此对象图问题,我会使用一些IoC:RoboJuiceAndroidAnnotationsDagger非常酷,而且它们提供的功能更多。他们每个人都处理这个问题不同,但你不必担心。

我希望它有所帮助!