Android 在onCreate中检查savedInstanceState是否为null是否是判断设备是否已旋转的好方法?

Android 在onCreate中检查savedInstanceState是否为null是否是判断设备是否已旋转的好方法?,android,android-activity,Android,Android Activity,只有在第一次构造活动时,我才想在活动的onCreate()方法中执行某些操作,而不是在设备旋转时(在配置更改时)。目前,我正在为此检查传递到onCreate()中的savedInstanceState参数。如果它为null,那么这是活动第一次启动,否则只有一个循环 这是一个好的和可靠的方式告诉这一点吗?有没有替代方案?我不知道还有更好的解决方案。Romain Guy描述了(检查savedInstance状态或传递的其他对象是否为null) 在新的活动onCreate()中,您所要做的就是 返回的

只有在第一次构造活动时,我才想在活动的onCreate()方法中执行某些操作,而不是在设备旋转时(在配置更改时)。目前,我正在为此检查传递到onCreate()中的savedInstanceState参数。如果它为null,那么这是活动第一次启动,否则只有一个循环


这是一个好的和可靠的方式告诉这一点吗?有没有替代方案?

我不知道还有更好的解决方案。Romain Guy描述了(检查savedInstance状态或传递的其他对象是否为null)

在新的活动onCreate()中,您所要做的就是 返回的对象是调用getLastNonConfigurationInstance()。在里面 Photostream,调用此方法,如果返回值不是 null,网格将加载上一页中的照片列表 活动:

当我懒得这样做时,我只是禁用在方向更改时重新创建活动。如中所述

private void loadPhotos() {
    final Object data = getLastNonConfigurationInstance();

    // The activity is starting for the first time, load the photos from Flickr
    if (data == null) {
        mTask = new GetPhotoListTask().execute(mCurrentPage);
    } else {
        // The activity was destroyed/created automatically, populate the grid
        // of photos with the images loaded by the previous activity
        final LoadedPhoto[] photos = (LoadedPhoto[]) data;
        for (LoadedPhoto photo : photos) {
            addPhoto(photo);
        }
    }
}