美文网首页
Android零碎

Android零碎

作者: soyouwantme | 来源:发表于2019-03-01 23:46 被阅读0次

onSaveInstanceState()

Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is actually being destroyed by a user action (such as pressing the BACK key)

onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据(当然你不保存那就随便你了)。

打开一个新的Activity也会调用,但如果启动一个透明的Activity的话,不会执行,只会执行onPause,以及恢复时的onResume。

onSaveInstanceState方法和onRestoreInstanceState方法“不一定”是成对的被调用的,onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下activity A一般不会因为内存的原因被系统销毁,故activity A的onRestoreInstanceState方法不会被执行

另外,onRestoreInstanceState的bundle参数也会传递到onCreate方法中,你也可以选择在onCreate方法中做数据还原。

  • 旋转手机的操作会导致先执行页面的销毁生命周期流,然后执行页面的创建生命周期过程流:
    onPause -> onSaveInstanceState -> onStop -> onDestory
    -> onCreate -> onStart -> onRestoreInstanceState -> onResume

SavedState

是TextView的核心状态存储类。

  • .selStart 和 .selEnd 保存光标的起始位置和结束位置,即文本的选中状态
  • .frozenWithFocus 保存焦点信息
  • .error 保存错误信息
  • .editorState 保存可编辑信息

测量模式

UNSPECIFIED:
EXACTLY:
AT_MOST:

相关文章

网友评论

      本文标题:Android零碎

      本文链接:https://www.haomeiwen.com/subject/nolsuqtx.html