关于Activity生命周期的管理

分为三个主要循环

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值