Android四大组件之Activity生命周期实例分析


这篇文章主要介绍了Android四大组件之Activity生命周期实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android四大组件之Activity生命周期实例分析文章都会有所收获,下面我们一起来看看吧。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。我们新建一个项目,创建两个Activity ,并在AndroidManifest.xml 中注册:注意红框中的代码,这里代表着程序运行启动的第一个界面。在Activity1 中的XML配置文章中添加一个按钮:在Activity1.java 文件中添加按钮的onClick 点击事件:运行项目,点击activity跳转按钮,完成跳转功能在android 中,Activity 生命周期可以分为四类:Active/Running一个新 Activity 启动入栈后,它显示在屏幕最前端,处理是处于栈的最顶端(Activity栈顶),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(active or running)。Paused当 Activity失去焦点, 被一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与窗口管理器保持连接,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用户进行交互。Stopped如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被强行终止掉。Killed如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。参考官方给出的生命周期图可以知道activity的生命周期分为7个方法:可运行下列代码进行验证:Activity有三个关键的循环:整个的生命周期,从onCreate(Bundle)免费云主机域名始到onDestroy()结束。Activity在onCreate()设置所有的全局状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的线程,用于从网络下载数据,则该Activity可以在onCreate()中创建线程,在onDestory()中停止线程。可见的生命周期,从onStart()开始到onStop()结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart中注册一个IntentReceiver来监听数据变化导致UI的变动,当不再需要显示时候,可以在onStop()中注销它。onStart()onStop()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。前台的生命周期,从onResume()开始到onPause()结束。在这段时间里,该Activity处于所有 Activity的最前面,和用户进行交互。Activity可以经常性地在resumed和paused状态之间切换,例如:当设备准备休眠时,当一个 Activity处理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。关于“Android四大组件之Activity生命周期实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android四大组件之Activity生命周期实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: python怎么实现跳过异常继续执行

这篇文章主要介绍“python怎么实现跳过异常继续执行”的相关知识,小编通过实际案例向大家展示操作过程,操作方法免费云主机域名简单快捷,实用性强,希望这篇“python怎么实现跳过异常继续执行”文章能帮助大家解决问题。第一种是类似if…else…;另外一种是使…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/22 09:48
下一篇 03/22 09:48

相关推荐