java - Android Context对象如何处理

标签 java android android-context

这不是关于 Context 对象本身的问题。我想知道管理对它的引用的最佳方法是什么。当我创建 Activity、Service 等 android 对象时 - 上下文已经随处可访问。

但我有一堆不同的数据访问类、各种共享实用程序等。我发现自己单独编写每个调用和传递上下文。我想知道有没有什么好的方法来处理上下文。也许是静态的?像这样将引用存储在我自己的 Application 对象中是个好主意吗?

public class MyApplication extends Application
{
    public static Context Context;

这样我就可以从应用程序的任何地方访问上下文。这看起来是个好主意吗?

最佳答案

public static Context mContext;设为全局变量,并在onCreate()的开头添加mContext = this;。它使访问更容易。通过将其设为公共(public)和静态,其他文件可以看到您的主要 Activity 的上下文,并且您不必将其作为参数传递给任何函数。在我看来,这可能是管理对它的引用的最好/最简单的方法。它还整理了对 MainActivity.this 的各种引用。

alextsc 的评论显示了一个有用的链接,指向可能由此产生的问题。

关于java - Android Context对象如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854333/

相关文章:

android - bindService 在什么情况下返回 false?

java - j += j++ 在 Java 中做什么?

c# - 为什么 C# 中的大多数类型都继承自 System.Object?

android - 使用 Android 物理引擎创建光滑的绳索

android - 如何使用@AAR 添加 Facebook Android SDK

android - 从 BroadcastReceiver 访问 Activity 实例

android - 持有应用程序上下文实例是一种不好的做法吗?

java - java克隆对象的方法

java - HttpURLConnection 和浏览器连接之间的区别

java - 插入图像后图像按钮变白