zoukankan      html  css  js  c++  java
  • android onSaveInstanceState

    参考:http://blog.sina.com.cn/s/blog_618199e60101g1k5.html

    一.调用时机

    1.A Activity切换B Activity 或者dialog启动

    2.home键值按下

    3.关屏幕

    4.屏幕方向切换时

    二.onRestoreInstanceState什么时候调用

    不是每次都调用 经测试activity被系统回收后 调用 onCreate 和 onRestoreInstanceState 方法

    三.需要重写onSaveInstanceState()方法

    onSaveInstanceState()方法只适合保存瞬态数据, 比如UI控件的状态, 成员变量的值等,而不应该用来保存持久化数据,持久化数据应该当用户离开当前的activity时,在onPause()中保存(比如将数据保存到数据库或文件中)

    由于onSaveInstanceState()方法方法不一定会被调用, 因此不适合在该方法中保存持久化数据, 例如向数据库中插入记录等. 保存持久化数据的操作应该放在onPause()中。若是永久性值,则在onPause()中保存;若大量,则另开线程吧,别阻塞UI线程。 

     四.引发activity销毁和重建的其它情况

    除了系统处于内存不足的原因会摧毁activity之外, 某些系统设置的改变也会导致activity的摧毁和重建. 例如改变屏幕方向

  • 相关阅读:
    uart协议--Verilog及仿真
    DC综合的流程
    modelsim将vcd文件转换成wlf文件并查看波形
    将系统盘还原成原来的普通u盘
    Ubuntu的操作命令
    gvim快捷键
    dc_shell环境下TCL语言的使用
    AHB总线学习
    Ubuntu文件共享
    Linux基础学习 | 目录及文件
  • 原文地址:https://www.cnblogs.com/wjw334/p/4491000.html
Copyright © 2011-2022 走看看