java - 从其他类引用 MainActivity 中的静态上下文是否不好?

标签 java android static

我在编程中养成了走捷径的习惯,我想知道后果是什么:

在MainActivity()中声明:

 public static Context xt;

在MainActivity的MainActivity构造函数中

 xt = this;

在我的渲染器构造函数中:

 readTextFile(MainActivity.xt, R.raw.vertexcode);

函数readTextFile使用上下文来打开资源

public static String readTextFileFromRawResource(final Context context,
         final int resourceId)
 {
     final InputStream inputStream = context.getResources().openRawResource(
             resourceId);
      . . .

最佳答案

你的实现很糟糕,对我来说,最好使用静态变量是使用 Singleton。 Singleton Pattern

现在,请记住,如果您使用上下文的引用对象,可能某些方法可能会更改变量,而其他函数可能会遭受后果。

关于java - 从其他类引用 MainActivity 中的静态上下文是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842462/

相关文章:

java - 方法上的类型不兼容

java - Android REST API 连接

Java:如果枚举常量本质上是静态的,它如何能够有一个构造函数和与之关联的方法

java - 实例化类中的静态方法和变量

java - Java 的 MD5 哈希问题

java - 根据条件禁用/启用语句的方法或模式?

android - 广播接收器未被调用

android - 是否可以在 list 文件中提及要过滤的设备的 Android 版本?

c# - Web 应用程序中的静态类

java - 具有多个分隔符的 Split()(不起作用)