Activity(活动)的生命周期
本帖最后由 宸道移动安全 于 2020-11-11 09:16 编辑一:Activity(活动)概念
Activity(活动)代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。Android 的Activity(活动)是 ContextThemeWrapper 类的子类。如果你曾经用C/C++ 或者Java语言编程,你应该知道这些程序从 main() 函数开始,很类似的,Android 系统初始化它的程序是通过Activity(活动)中的 onCreate() 回调的调用开始的。存在有一序列的回调方法来启动一个活动,同时有一序列的方法来关闭活动,如下图所示的活动声明周期图:
二:Activity(活动)的生命周期
1.Activity 类定义了回调,可以不用实现所有的回调方法。但了解其中的每一个非常的重要,实现这些可以保证你的应用行为如用户所期望的样子,如下表所示。
2.实例:这个实例通过简单地步骤展示 Android 应用程序Activity(活动)的生命周期。如表3.2所示,可以按照下面的步骤来修改在 Hello World 实例章节中创建的Android 应用程序。
3.下面是主要活动文件src/com.example.helloworld/MainActivity.java修改的内容。里面包含每一个基本的生命周期方法。Log.d()方法用来生成日志信息:
活动类从项目的res/layout中的XML文件加载所有的UI组件。
下面的语句从res/layout/activity_main.xml文件中加载UI组件:
setContentView(R.layout.activity_main);
一个应用程序可以有1个或多个活动,而没有任何限制。每个为应用程序所定义的活动都需要在AndroidManifest.xml中声明。应用的主要活动需要在清单中声明,且意图过滤器标签中需要包含 MAIN 动作和LAUNCHER 类别,如下所示:
不论是 MAIN 动作还是 LAUNCHER 类别没有在活动中声明,那么应用程序的图标将不会出现在主屏幕的应用列表中。
运行起刚刚修改的 "Hellow World!" 应用程序。假设你在环境搭建的时候已经创建了AVD。从 Eclipse 运行应用,打开一个项目中的活动文件,并从工具栏点击运行图标。Eclipse在AVD上安装应用并启动它。如果一切顺利,将显示模拟器屏幕如下,同时你可以在Eclipse IDE的LogCat窗口中看到日志信息。
07-19 15:00:43.405: D/Android :(866): The onCreate() event
07-19 15:00:43.405: D/Android :(866): The onStart() event
07-19 15:00:43.415: D/Android :(866): The onResume() event
点击 Android 模拟器上的红色按钮,它将在Eclipse IDE的LogCat窗口中产生如下所示的事件消息:
07-19 15:01:10.995: D/Android :(866): The onPause() event
07-19 15:01:12.705: D/Android :(866): The onStop() event
再次点击 Android 模拟器上的菜单按钮,它将在 Eclipse IDE 的LogCat 窗口中产生如下所示的事件消息:
07-19 15:01:13.995: D/Android :(866): The onStart() event
07-19 15:01:14.705: D/Android :(866): The onResume() event
最后点击Android模拟器上的返回按钮,它将在EclipseIDE的LogCat窗口中产生如下所示的事件消息,Android 应用程序上活动的整个生命周期完成。
07-19 15:33:15.687: D/Android :(992): The onPause() event
07-19 15:33:15.525: D/Android :(992): The onStop() event
07-19 15:33:15.525: D/Android :(992): The onDestroy() event
小结:
本次主要分享了Activity,了解什么是Activity,Activity(活动)的生命周期。
https://static.52pojie.cn/static/image/hrline/line3.png
发帖只是单纯的为了分享,内容都是很基础的,吾爱里面有很多小白也有很多大佬,可能内容不是你想看见的,但也有人需要它,不喜勿碰。 不懂的看不懂 懂得嫌你抄的烂 搬运也不带这样的吧
https://blog.csdn.net/j20lin/article/details/70598114
居然也是安卓原创??几年前的帖子{:17_1051:} 科普android知识哇,不错 这特么真的水 这样水贴也可以的么,我这有很多这样的内容 好像真的是很久以前就有的了 学习了楼主的分享 ,android也很强大呀:lol 额……这也太基础了吧 故意传上来,让人喷的吧??