1、定义
Activity暂停:Activity仍然是部分可见,它就一直处于暂停状态,它是用户要离开你的activtiy的第一个信号。
Activity停止:Activity被完全阻塞而不可见,它就进入停止状态。
2、暂停Activity
当系统调用一个activity中的onPause()方法,当前activity处于暂停状态,此时应该完成如下操作:
a. 停止会耗费CPU的动画或者是其他正在运行的操作;
b. 提交没有保存的改变,但是仅仅是在用户离开时期待保存的内容(例如邮件草稿);
c. 释放系统资源,例如广播接收器, 传感器(如GPS), 或者是其他任何会影响到电量的资源。
通常,不能使用onPause()来保存用户改变的数据 (例如填入表格中的个人信息) 到永久磁盘上。仅仅确认用户期待那些改变能够被自动保存的时候(例如书写邮件草稿时)才可以把那些数据存到永久磁盘上。然而,应该避免在onPause()时执行CPU密集的工作,例如写数据到数据库,因为它会导致切换到下一个activity变得缓慢(那些重负荷的操作应该放到onStop()方法中完成)。
3、恢复Activity
当用户把一个Activity从Paused状态恢复,系统会调用onResume()方法。需要注意的是,系统每次调用这个方法对应的activity都处于最前台,包括第一次创建的时候。所以,在实现onResume()方法时应该初始化那些在onPause方法里面释放掉的组件,并执行那些activity每次进入恢复状态都需要的初始化动作 。