-5

我想知道我应该在哪里获得android中视图资源的最佳位置。

例如,我应该在 onCreate() 还是 onStart() 中获取资源;

4

3 回答 3

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

onStart() :在活动对用户可见之前调用。如果活动进入前台,则为 onResume(),如果活动被隐藏,则为 onStop()。

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

于 2015-06-22T13:32:50.770 回答
1

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

于 2015-06-22T13:39:31.163 回答
0

我认为最好的地方是在onCreate()方法中(就在上下文集之后),因为有地方可以加载所有内容,这是无论如何启动活动时都会调用的方法。

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

以及文档中的一些文本:

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

于 2015-06-22T13:17:54.137 回答