background image

    对 于 读 写 数 据 , 一 般 在

Activity.onCreate() 或

Activity.onResume 时进行数据加载,在 Activity.onPause 写数

据。因为

Activity.onPause 调用后,组件处于可回收状态,资源紧

张时,可回收。

  状态组件

  状态数据是用户与界面组件交互过程产生的临时数据。不会被持

久化。状态数据暂存内存,若组件被回收,数据将丢失。

  为此,

Android 的界面组件提供了事件函数,帮助开发者保存

状态数据。当系统将界面切离前台组件

(Activity.onPause 调用前),

调用

Activity.onSaveInstanceState,在该函数中,开发者可以

将组件的状态写入参数

onState 中,onState 是 Bundle 类型。

  但

Activity.onSaveInstanceState 不会每次都调用,如用户

点击回退键或者

Activity.finish()主动调用时,因为这意味着当前的

状态被用户主动放弃。

  如果组件被回收,缓存的数据会在组件界面被重新构造时通过

Activity.onCreate() 传入。其中的 savedInstanceState 参数与

onState 参数对象完全一致。若 savedInstanceState 为空,说明

是一次全新的构造,反之是恢复性构造。

 

 

savedInstanceState