Activity存在三种状态
①Resumed重新启动
activity回到屏幕的前面或者又获得用户的焦点,处于这种状态的窗体用户可以操作。
②Paused暂停
什么时候会出现暂停?当另外一个activity在前面或者得到焦点的时候,当前的activity就会处于暂停状态。比如,当我们在玩游戏的时候,突然来了一个电话,此时游戏可能就是透明的显示着(附加在窗体之中),再比如,当我们听音乐的时候来了个电话,当我接电话的时候,此时音乐会暂停(打的时间短),如果电话打的时间长了,此时音乐就不能再播放了(内存耗费太多,此时音乐会被系统杀掉)。其他的activity获得了焦点,但是当前的activity仍然是可见的,其他的activity会位于当前的activity的上面,也即是在栈顶。被暂停的activity还是活着的,可以附加在窗体之中,如果电话挂断还是可以播放的。暂停的状态不能保存数据。内存极其低的时候会回收activity的内存。
③Stopped停止
当前 的activity完全被另外一个activity遮盖着了,被遮盖的activity就处于后台,被停止的activity还是活着的。处于停止的activity还是在内存中保持着,但是不会附加在窗体之中。假如打电话把音乐给停止了,这种状态的activity就回不来了,用户不能再用了。系统需要的时候就会回收activity的内存。
如果一个Activity处于暂停或者停止状态的时候,系统会把它从内存中取出来,并且调用finish方法,把它finish掉(系统或者程序员)。