SDK接入必备常识——Activity的生命周期

作者: 分类: U8SDK 发布时间: 2015-04-04 19:34 61条评论

Activity是Android系统中最重要的组件之一。为了方便理解,你可以认为它就是Android手机中你所看到的一个个界面。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在SDK接入过程中,几乎每家渠道SDK都会需要在AndroidManifest.xml中配置渠道SDK对应的Activity等信息。所以,作为SDK接入的必要常识,我们有必要对Activity有个比较透彻的了解。
本篇文章,我为大家梳理下Activity的生命周期。一个界面(Activity),从创建到展现在用户面前,以及从一个界面(Activity)跳转到另一个界面(Activity),关闭一个界面(Activity)等, 这些界面(Activity)都经过了哪些生命周期。

先看Activity的生命周期图:

Activity生命周期图

@1、Activity首次被创建的时候,会执行onCreate方法。

@2、当Activity能被用户看见的时候,会执行onStart方法。

@3、当Activity出现最上层并可以和用户交互(就是用户可以点击上面的按钮等操作),那么这个时候,会执行onResume方法。

@4、当用户打开了一个对话框,这个时候该Activity还是可见的,只是无法操作(交互),这个时候,会调用该Activity的onPause方法。

@5、当用户打开了一个全屏界面,或者跳转到了另一个全屏Activity时,该Activity已经完全不可见,那么会调用该Activity的onStop方法。

@6、当用户结束一个应用时,或者该Activity被销毁的时候,会执行onDestroy方法。

@7、当Activity出于onPause状态时,如果用户又切回到该Activity。那么会重新调用onResume方法。

@8、当Activity处于onStop状态时,并且该Activity还处于系统内存中没有被销毁,那么会调用该Activity的onRestart方法重新启动该Activity。

@9、当Activity处于onPause和onStop状态时,如果系统内存吃紧,那么随时都有可能被系统直接销毁掉。

这就是一个Activity的整个生命周期过程。

其实,做过界面开发的童鞋,可能知道,MVC模式是界面设计的一种经典模式。其中,Android中也采用了MVC设计模式。Android中,界面上的显示元素和结构,我们是通过xml格式的布局文件来表示,这个就是View;而Activity就是Control层,调用业务层的逻辑,控制布局文件和数据的展示。

同时,记得Android采用堆栈来管理Activity。Activity有四种状态:

活动状态,当Activity处于Stack(栈)顶时,就是手机当前的现实屏幕,这是 Activity就处于activity或者运行状态。

运行但是失去焦点,当Activity还处于运行状态时,但是屏幕是有另外一个Activity处于文档处于焦点状态,当前的Activity就处于pause。

停止状态,当Activity被另一个Activity完全覆盖的时候,就被停止了,其实就是虽然在运行,但是用户却看不见。

结束状态,当Activity处于pause或者stop时,系统可以结束 Activity,回收资源,这是Activity就是处于结束状态了。处于结束状态的是Activity,如果要使用户可见,只要重启才可以。

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=1543

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入