Activity简述
来源:互联网 发布:mac我的所有文件 乱 编辑:程序博客网 时间:2024/05/19 19:33
(一)概念
Activity的中文意思的“活动”,它在Android中也是作为主要的活动承载着发挥着重要作用。在Android中,Activity作为最基本的模块,它提供了系统和用户交互的可视化界面。在Android移动应用中可以包含一个或多个Activity,这取决于具体的应用程序设计。当然,一般情况下应用程序往往包含多个Activity。
Activity中显示的内容是由一系列的视图构成的,这些视图都继承自View基类。每一个视图,都控制着窗口中一块特定的矩形区域。此外,这些视图往往并不都是独立的,有着互相嵌套的层级关系。在外面的我们叫做父级视图,被包裹的叫做子视图。
(二)Activity的四种状态
Activity从创建到销毁,主要有四种状态。下面将予以简要介绍:
Running:一个新 Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
Paused :当 Activity 被另一个透明或者Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
Stopped :当 Activity 被另外一个Activity 覆盖、失去焦点并不可见时处于 Stopped状态。
Killed :Activity 被系统杀死回收或者没有被启动时处于 Killed状态。
当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。
(二)Activity的生命周期
Activity从创建到使用,再到最后的销毁会调用很多的方法。Activity存在时的整个阶段我们称之为生命周期。在Activity的整个生命周期中,系统会调用如下几个重要的方法,有的方法甚至会被多次反复调用。
onCreate(): 在Activity刚创建时被调用,一般会借用此方法执行初始化的相关操作。
onStart(): 启动Activity时被调用,即当这个Activity第一次在屏幕上显示的时候被回调。
onRestart(): 重启Activity是被调用,即当一个Activity在创建后从不显示到显示时被回调。当然,这里不包括第一次由不显示到显示。
onPause(): 当Activity暂停时被调用,此方法需要快速执行,常用于持久保存数据。
onResume(): 当Activity由暂停状态恢复到活动状态时被调用,此方法执行后,该Activity重回Activity栈的栈顶。
onStop(): 停止Activity时被调用。
onDestroy(): 销毁Activity时被调用。
上面介绍了Activity生命周期中的7个重要方法,其实Activity还存在着3个嵌套的生命周期,下面将简要介绍:
1)完整的生命周期: 从onCreate()方法调用开始,在onDestroy()方法调用结束。
2)可见的生命周期:从onStart()方法调用开始,到onStop()方法调用结束。
3) 前台生命周期: 从onResume()方法调用开始,到onPause()调用结束。
总结:本文简要介绍了Activity的概念、运行中的四种状态、生命周期和整个生命周期中最重要的7个方法。希望对初学者了解Activity提供帮助,想要深层次的研究Activity需要我们多多研读经典书籍和多做项目,唯有如此才能系统把握Android开发知识。
- Activity简述
- Activity简述
- 简述Activity的生命周期
- 简述Activity的生命周期
- activity启动流程简述
- 简述android的activity生命周期。
- 安卓简述activity生命周期
- Android开发笔记-----activity简述
- 简述android activity的生命周期
- Android四大组件简述之Activity
- 认识onWindowFocusChanged和简述Activity生命周期
- 简述Application,Activity,Activity Stack,Task之间的关系
- Activity中的常用进程函数与常用组件简述
- Activity中的常用进程函数与常用组件简述
- 学习笔迹——简述Activity与Fragment生命周期
- 简述Activity的启动流程(类的创建)
- 简述Activity的启动流程(界面显示)
- Android中Activity的四大启动模式实验简述
- Unity3d·射线·射线检测碰撞
- 关于EditText的一点深入的了解
- 博客已迁移至http://blog.csdn.net/lujinhong2/
- 第十周项目3 利用二叉树遍历思想解决问题(4)
- ATSHA204
- Activity简述
- 一个正则表达式问题
- C# list 过滤重复的值
- 重新写博+linux查找系列
- Android-图片的缓存实现笔记
- 文章标题
- NDK 编译protoc buf lite心得
- js数组操作
- 高山仰止,景行景止