【发布时间】:2017-10-04 02:51:53
【问题描述】:
我有一个关于旋转 Android 设备的问题。我的代码在 onCreate(...) 中记录了一个静态和非静态属性。
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
static int sn;
int n;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sn++;
n++;
Log.i("onCreate", String.format("sn=%d n=%d", sn, n));
}
}
屏幕方向为纵向。当我第一次运行代码时,我得到了:
onCreate(): sn=1 n=1
将屏幕旋转到横向后,我得到:
onCreate(): sn=2 n=1
在我再次将屏幕旋转为纵向后,我得到了:
onCreate(): sn=3 n=1
onCreate(): sn=4 n=1
我的问题是:
- 当设备旋转回纵向时,如何防止 onCreate(...) 被调用两次?
- 如何在设备旋转时保存非静态变量的值?
【问题讨论】:
标签: android