Android开发——活动状态的相关介绍和活动回收时数据保存问题(六)

android开发 笔记(1.8)

  • 活动状态的相关介绍
    • 1. Activity的七个回调方法
  • 2.活动被回收了怎么办?
    • onSaveInstanceStat()方法
  • 3.Bundle和Intent的结合

活动状态的相关介绍

1. Activity的七个回调方法

1.onCreate():activity第一次启动时被调用。完成活动的初始化操作,如加载布局 绑定事件等
2.onStart():活动由不可见变为可见时候调用
3.onResume():当用户与activity进行交互时被调用,此时activity位于返回栈的栈顶,并处于运行状态,该方法完成一些轻量级的工作,避免用户等待
4.onPause():启动或恢复另一个activity的时候被调用,该方法一般用来保存界面的持久信息,提交未保存的数据,并释放消耗CPU的资源。
5.onStop():该方法在activity不可见状态时调用,如:其他activity启动或恢复并将其覆盖时调用。
6.onDestroy():在activity销毁之前被调用。
7. onRestart():当activity重新启动时调用。

分为三类
完整生存期:onCreate()onDestroy() 创造 销毁
可见生存期:onStart()onStop() (保证停止活动时不占用过多的内存)
前台生存期:onResume() onPaise() (活动一直是运行状态,可以和用户进行交互)

Android开发——活动状态的相关介绍和活动回收时数据保存问题(六)_第1张图片


2.活动被回收了怎么办?

onSaveInstanceStat()方法

MainActivity中:

@Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        String tempData="something you just typed";
        outState.putString("data_key",tempData);
    }

修改onCreate()方法
Android开发——活动状态的相关介绍和活动回收时数据保存问题(六)_第2张图片


3.Bundle和Intent的结合

使用Bundle来保存和取出数据和Intent传递数据时候的方法差不多。
Intent还可以结合Bundle一起用于传递数据,首先把需要的数据都保存在Bundle对象中,再讲Bundle对象存放在Intent里面。到了目标活动之后从Intent中取出BUndle,再从Bundle中一一取出数据。

你可能感兴趣的:(android开发)