您的位置:首页 > 移动开发 > Android开发

android 横竖屏切换涉及到的问题

2017-09-06 14:16 435 查看

activity 横竖屏切换 数据保存

02-06 15:30:00.601 20621-20621/tg.com.testlandportrait D/testlandportrait: onCreate
02-06 15:30:00.856 20621-20621/tg.com.testlandportrait D/testlandportrait: onStart
02-06 15:30:00.856 20621-20621/tg.com.testlandportrait D/testlandportrait: onResume
02-06 15:30:07.267 20621-20621/tg.com.testlandportrait D/testlandportrait: onPause
-------此处横屏切换为竖屏开始------
02-06 15:30:07.288 20621-20621/tg.com.testlandportrait D/testlandportrait: onSaveInstanceState
02-06 15:30:07.289 20621-20621/tg.com.testlandportrait D/testlandportrait: onStop
02-06 15:30:07.289 20621-20621/tg.com.testlandportrait D/testlandportrait: onDestroy
02-06 15:30:07.315 20621-20621/tg.com.testlandportrait D/testlandportrait: onCreate
02-06 15:30:07.352 20621-20621/tg.com.testlandportrait D/testlandportrait: onStart
02-06 15:30:07.352 20621-20621/tg.com.testlandportrait D/testlandportrait: onRestoreInstanceState
02-06 15:30:07.353 20621-20621/tg.com.testlandportrait D/testlandportrait: onResume
-------此处横屏切换为竖屏结束------


由此开来,只要在onSaveInstanceState中保存数据,再在onRestoreInstanceState中将数据还原出来就可以了。

//忽略这段代码,仅做备份使用
@Override
public Object onRetainCustomNonConfigurationInstance() {
Log.d(tag,"onRetainCustomNonConfigurationInstance");
return super.onRetainCustomNonConfigurationInstance();
}

@Nullable
@Override
public Object getLastNonConfigurationInstance() {
Log.d(tag,"getLastNonConfigurationInstance");
return super.getLastNonConfigurationInstance();
}

02-06 15:39:20.632 22030-22030/tg.com.testlandportrait D/testlandportrait: onCreate
02-06 15:39:20.738 22030-22030/tg.com.testlandportrait D/testlandportrait: getLastNonConfigurationInstance
//------第一次创建Activity的时候就执行这个方法了------
02-06 15:39:20.900 22030-22030/tg.com.testlandportrait D/testlandportrait: onStart
02-06 15:39:20.900 22030-22030/tg.com.testlandportrait D/testlandportrait: onResume
02-06 15:39:31.653 22030-22030/tg.com.testlandportrait D/testlandportrait: onPause
02-06 15:39:31.682 22030-22030/tg.com.testlandportrait D/testlandportrait: onSaveInstanceState
02-06 15:39:31.682 22030-22030/tg.com.testlandportrait D/testlandportrait: onStop
02-06 15:39:31.683 22030-22030/tg.com.testlandportrait D/testlandportrait: onRetainCustomNonConfigurationInstance
02-06 15:39:31.683 22030-22030/tg.com.testlandportrait D/testlandportrait: onDestroy
02-06 15:39:31.700 22030-22030/tg.com.testlandportrait D/testlandportrait: onCreate
02-06 15:39:31.703 22030-22030/tg.com.testlandportrait D/testlandportrait: getLastNonConfigurationInstance
02-06 15:39:31.738 22030-22030/tg.com.testlandportrait D/testlandportrait: onStart
02-06 15:39:31.739 22030-22030/tg.com.testlandportrait D/testlandportrait: onRestoreInstanceState
02-06 15:39:31.739 22030-22030/tg.com.testlandportrait D/testlandportrait: onResume
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息