您的位置:首页 > 其它

关于Activity生命周期的管理

2014-03-23 20:18 197 查看
分为三个主要循环

onResume和onPause

onStart和onStop

onCreate和onDestroy

还有一个特殊的循环

onSaveInstanceState和onRestoreInstanceState

onResume和onPause是最轻量的,首先要处理暂停和恢复的基本逻辑

然后,onPause里应该释放一些最轻量的资源,并且应该保存最关键的数据

onStart和onStop里应该用于获取和释放一些较重的资源

onCreate自然是负责如何创建 一个全新的Activity

onDestroy用于释放一些长线资源,比如线程和服务

关键是onSaveInstanceState和onRestoreInstanceState

应该用这两个方法来负责Activity的状态保存和重建工作

在Activity没有被杀死的情况下,用户离开和返回,这个对象一直存在于内存中,状态没有任何变化,所以用户看到的东西没有变化

但是有时候用户离开之后,这个对象可能被杀死,再次进入的时候,这个对象需要重新创建,并且恢复到原来的样子,以给用户以错局好像没有被杀死过一样

这两个方法就是用来做这件事的。在onSave里保存你认为恢复时需要的数据,在onRestore里用这些数据对Activity的样子进行恢复。你可以认为onRestore是在onCreate之后发生,也就是onCreate创建了一个纯净的Activity,而通过onRestore,你可以将它恢复到之前的样子

注意一点,widget会在系统默认的该循环中恢复,你不用操心

一般情况下,主要处理好onPause和onResume以及onSave和onRestore这两个循环就好。当然onCreate要处理好如何创建这个Activity
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: