哪里是获取活动资源的最佳位置

时间:2015-06-22 13:16:07

标签: android resources oncreate onstart

我想知道我应该在android中获取视图资源的最佳位置..

例如,我应该在onCreate()或onStart();

中获取资源

3 个答案:

答案 0 :(得分:2)

当活动进入和退出上述不同状态时,会通过各种回调方法通知它。所有回调方法都是挂钩,您可以覆盖这些挂钩,以便在活动状态发生变化时执行适当的工作。以下框架活动包括每个基本生命周期方法:

public class ExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // The activity is being created.
}
@Override
protected void onStart() {
    super.onStart();
    // The activity is about to become visible.
}
@Override
protected void onResume() {
    super.onResume();
    // The activity has become visible (it is now "resumed").
}
@Override
protected void onPause() {
    super.onPause();
    // Another activity is taking focus (this activity is about to be "paused").
}
@Override
protected void onStop() {
    super.onStop();
    // The activity is no longer visible (it is now "stopped")
}
@Override
protected void onDestroy() {
    super.onDestroy();
    // The activity is about to be destroyed.
}

}

onCreate():首次创建活动时调用。这是您应该进行所有常规静态设置的地方 - 创建视图,将数据绑定到列表等等。如果捕获了该状态,则此方法将传递包含活动的先前状态的Bundle对象(请参阅稍后保存活动状态)。 始终紧跟onStart()。

onStart():在活动对用户可见之前调用。 如果活动到达前台,则按onResume(),如果隐藏,则按onStop()。

http://developer.android.com/guide/components/activities.html

答案 1 :(得分:1)

的onCreate();当然。 这是您的活动创建的地方,在您必须声明它的手机屏幕上可见之前。

答案 2 :(得分:0)

我认为最好的地方是onCreate()方法(在上下文集合之后),因为有加载所有内容的地方,这是在您开始活动时调用的方法不管怎样。

在这里你可以看到原始文档中的模式,其中显示onCreate方法在onStart方法之前,所以我认为这应该是初始化的地方http://developer.android.com/reference/android/app/Activity.html

文档中的一些文字:

  

onCreate():首次创建活动时调用。这是您应该执行所有常规静态设置的地方:创建视图,将数据绑定到列表等。此方法还为您提供包含活动先前冻结状态的Bundle(如果有)。