如何正确管理Android应用程序的上下文(非活动类)

时间:2011-12-19 16:34:41

标签: java android

类似的帖子没有我想要的答案。

Using Application context everywhere?

http://developer.android.com/reference/android/app/Application.html

Static way to get 'Context' on Android?

What's the difference between the various methods to get a Context?

问题描述:

我有一组实用程序类,其中一些是写文件。其他人可能会使用数据库等。关键是我的多个实用程序类需要 Context 。一个简单的例子是通过context.getString(r.strings.id)从strings.xml读取。

我认为在大多数情况下我都想避开单身人士。除非绝对必要,否则我会选择单身人士。这已经解决并张贴在其中一个链接上。我个人认为它们是一种模式。只是个人选择。据我所知,您的应用程序上下文是一个单例对象。每个应用程序上下文只有一个应用程序。如果这是唯一的方法,我愿意接受上述选项。

问题:

我的实用程序类如何访问我的应用程序上下文,以便我可以简单地执行新的MyContext()。此上下文需要引用应用程序资源。我认为从活动中调用时称为applicationContext()。理想情况下,这将是一个廉价的操作。

谢谢。

修改:(澄清) 我正在编写一个应用程序将自己绑定到的服务。我认为这不应该影响答案。再次感谢。

1 个答案:

答案 0 :(得分:0)

我认为最安全的方法是将上下文实例传递给需要访问resrouces等的每个函数。这似乎是API所采用的常见做法。我真的很困惑为什么这么多函数似乎需要一个上下文实例,直到它出现。