Android Activity生命周期以及LoCat的使用

Activity主要有三个状态:

        当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。它就是相应用户操作的Activity。

        当它失去焦点但仍然对用户可见时,它处于暂停状态。即:在它之上有另外一个Activity。这个Activity也许是透明的,或者未能完全遮蔽全屏, 所以被暂停的Activity仍对用户可见。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极 低内存的情况下,仍然可以杀死这个Activity。

        如果它完全被另一个Activity覆盖时,它处于停止状态。它仍然保留所有的状态和成员信息。然而它不再为用户可见,所以它的窗口将被隐藏,如果其他地方需要内存,则系统经常会杀死这个Activity。

       API里Activity的生命周期图:

 

 Activity继承了ApplicationContext这个类,Activity的生命周期由下面七个方法实现:

   在学习Activity的生命周期时,为了更好理解Activity的生命周期,我基本重写了这七个方法,并用 android.util.log这个类的静态方法打印出来 这个类相当的简单易用,因为它提供的全是一些静态方法:

下面是重写后的两个Activity的代码清单:FirstActivity

SecondActivity:

代码没什么特别的,运行工程效果图如下:

 

重点在Logcat视窗里,打开应用时先后执行了onCreate()->onStart()->onResume三个方法,看一下LogCat视窗如下:

 

 

当点击启动到第二个Activity时,FirstActivity执行了onPause->onStop,SecondActivity执行了onCreate()->onStart()->onResume方法,看Logcat视窗:

BACK键:

当按BACK键时,返回FirstActivity,这时候FirstActivity不是调用onCreate()->onStart()->onResume三个方法,而是调用onReStart->onStart->onResume,如下图所示:

而SecondActivity一次调用了onPause->onStop->onDestory,看图:

这样基本可以看到Activity的生命周期了,虽然有些还是有点不明了,但基本可以理解了

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值