今天学习了安卓的一些知识其中主要的是:
onRetainNonConfigurationInstance 和和getLastNonConfigurationInstance
很多网友可能知道Android 横竖屏切换时会触发onSaveInstanceState,
而还原时会产生onRestoreInstanceState,
但是Android 的Activity 类还有一个方法名为
onRetainNonConfigurationInstance 和getLastNonConfigurationInstance 这两个方法。
我们可以通过
onRetainNonConfigurationInstance 代替onSaveInstanceState,比如距离2
@Override
public Object onRetainNonConfigurationInstance()
{
//这里需要保存的内容,在切换时不是bundle 了,我们可以直接通过Object 来代替
return obj;
}
在恢复窗口时,我们可以不使用onRestoreInstanceState,而代替的是getLastNonConfigurationInstance 方法。
我们可以直接在onCreate 中使用,比如
Object obj = getLastNonConfigurationInstance();
最终obj 的内容就是上次切换时的内容。
这里Android123 提醒大家,每次Activity 横竖屏切换时onCreate 方法都会被触发。