在调用onCreate之前初始化变量是不好的做法吗?

时间:2017-09-30 02:01:02

标签: android initialization instance-variables

我一直在想,因为我是Android的新手,如果在调用onCreate()之前在类的字段声明中初始化变量(如Context对象)是不好的做法。我正在粘贴我正在谈论的内容。看看我如何以及何时初始化Context对象。与onCreate相比,这实例化的时间是什么?我可以相信每次调用此类时都要初始化它吗?

enter image description here

3 个答案:

答案 0 :(得分:0)

在调用context之前,您无法使用onCreate。它不会完全初始化。尽管如此,您可以将其保存在变量中。

真正的问题是 - 为什么你这样做呢?除非它是静态的,否则没有理由在类变量中保存它的副本,因为你总是可以像这样引用它。你永远不应该保存静态Context

答案 1 :(得分:-1)

当我们创建Activity时,我们应该调用onCreate()方法。我们应该在oncreate方法中实例化。

在您的代码中尝试此操作。

public class MainActivity extends AppCompatActivity {

private Context mContext;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mContext = this;
}
}

enter image description here

您可以查看this

答案 2 :(得分:-1)

初始化onCreate()内的Context,不会失败。每当你打电话给这个班级时,它都会初始化。

相关问题