Android生命周期(1) - Activity



       作为Android程序员,我们都知道生命周期的重要性,so~~~,我也特别落俗套地整理一下思路,合理地使用生命周期可以使程序运行得更健康哦^_^。Ps:图片及相关资料来源于看的书和网络,在此做简单梳理,给自己和路过的小伙伴们参考~O(∩_∩)O


Activity生命周期

  • onCreate() 创建一个activity并且填充UI,获取Fragment的引用,启动服务和定时器等;
  • onRestoreInstanceState() 与onSave并不是生命周期函数,不会每次被调用,传入的bundle包中包含UI状态,与传入onCreate的一样;
  • onRestart() 除该activity第一次创建时,在每次调用onStart前都会被调用,顾可用此特性做些特殊处理;
  • onStart() 到onStop之间对用户可见但不具有焦点,可用来注册广播,或重新启动某些线程;
  • onResume() 到onPause之间activity处于活动状态(位于activity栈顶),需尽量使这期间的代码执行迅速,保证程序进行前后台切换的时候能够保持响应;
  • onSaveInstanceState() 默认会自动将UI的状态改变保存至InstanceState,此外可做些临时性数据的保存,如用户输入的值,成员变量的值,需要注意的是该函数不是每次被调用,当用户主动去销毁界面时不会调用,而例如按home键或者内存不足时则会调用;
  • onPause() 与onSave不同的是该函数可以保存一些持久性数据,例如保存至数据库或者文件中,但不可做耗时操作,以免阻塞UI线程;
  • onStop() 可以用来注销广播,暂停动画,线程,传感器监听器,GPS查找,service,定时器或其他更新UI界面的线程,以节约资源(CPU周期或网络带宽),在界面重新可见时,可在onStart(或onRestart)中重新启动这些线程;
  • onDestroy() 清理所有的资源,关闭数据库连接,网络连接,结束线程等。

PS:当重写这些回调方法时,应总是回调超类,例如:super.onCreate();




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值