我在想如果有一种方法可以确定什么是传递给像Toast.makeText()
这样的方法的最佳上下文,或者是什么时候得到SharedPreferences
与context.getSharedPreferences()
..是否有一个原因不是总是使用应用程序上下文来代替Activity
或IntentService
上下文,例如?如何确定在不同情况下使用的正确上下文(Toast.makeText,context.getSharedPreferences等)
0
A
回答
0
为了解释这一差异,从https://stackoverflow.com/a/4128799/1143977
他们是上下文的两个实例复制,但应用程序实例是联系在一起的应用程序的生命周期,而活动实例绑定到一个活动的生命周期。因此,他们可以访问有关应用程序环境的不同信息。
如果您阅读getApplicationContext上的文档,它会注意到,如果您需要其生命周期与当前上下文分离的上下文,则应该只使用它。
活动上下文可能有一些关于完成这些调用所需的当前活动的信息。如果您显示确切的错误消息,可能能够指出它究竟需要什么。
但是一般来说,除非你有充分的理由不使用活动上下文。
相关问题
- 1. 使用R,如何在这种情况下正确使用str_extract?
- 2. 如何在启用ARC的情况下正确使用CFURLCreateCopyAppendingPathComponent?
- 3. 如何在我的情况下正确使用SQL计数
- 4. 如何在我的情况下正确使用Javascript'this'?
- 5. 在jQuery中,如何在这种情况下正确使用“this”?
- 6. 如何在这种情况下,正确地使用std :: enable_if
- 7. 如何在这种情况下正确使用自动布局?
- 8. 如何正确使用jQuery“上下文”
- 9. 在不使用组的情况下为列确定一个不同的计数
- 10. 如何在不使用IB的情况下正确添加iad到tabbarcontroller?
- 11. 如何在不引发警告的情况下正确使用ReadProcessMemory
- 12. 如何在这种情况下正确应用MVVM?
- 13. StringComparer.CurrentCulture是在这种情况下使用的正确选择吗?
- 14. cin是在这种情况下使用的正确功能吗?
- 15. 如何在不定义类名的情况下正确继承`factory`方法?
- 16. 如何做正确的情况下,用秒差距
- 17. 如何在这种情况下正确显示我的输出?
- 18. 如何在我的情况下正确显示/隐藏按钮?
- 19. 如何在这种情况下获得正确的json输出?
- 20. 如何在正确的情况下返回字段名称
- 21. 如何在不使用id自动化的情况下确定窗口
- 22. 如何在不使用注册表的情况下确定Acrobat Reader版本
- 23. 在我的情况下定义xsd模式的正确方法
- 24. 如何在不同情况下使用不同的子类?
- 25. 在这种情况下正确使用'volatile'(C)?
- 26. 我是否在这种情况下正确使用ForeignKey?
- 27. 这是否正确使用$。在这种情况下推出?
- 28. CakePHP不保存正确的数据在HABTM的情况下
- 29. WPF:“ApplicationCommands.New”在MenuItem的情况下显示不正确的源码
- 30. 如何在条件存在的情况下正确使用加法? CLIPS
他们在[Android开发人员博客](http://android-developers.blogspot.it/2009/01/avoiding-memory-leaks.html)上说的相反,即尝试避免活动上下文和使用应用程序的上下文来代替.. –
国际海事组织,我认为他们想说的是,如果你打算有对象的长寿命的对象,然后应用程序上下文是一个好主意。他们告诉我们在这种情况下只能避免使用活动背景。而在我的理解中,您可以使用活动上下文进行休息。 – VendettaDroid