博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】Activity 概念介绍(大全)
阅读量:4950 次
发布时间:2019-06-11

本文共 1995 字,大约阅读时间需要 6 分钟。

【面向人员】:立志于安卓开发的所有人员,做到真正的从零基础起步;

【教程说明】:本教程在内容上保证原创、简洁、详细,在附件链接上保证可用、最新、完整;
【回帖说明】:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此、分享、共进。
1、Activity 是什么?
Activity 程序是 Android 程序的基本组成单元,是Android 应用层开发的四大组件之一。
2、Activity 作用是什么?
从通俗角度上来讲:Activity 是用户与 Android 应用程序交互的接口,通过这个中可以放置各种控件。
层面上来讲:功能类似于Mvc设计模式中的Controller控制层,在Android中,通过Activity选择要显示的View,从View中获取数据然后传给Model层进行处理,最后显示出来。
3、Activity 的四种状态是什么?
Active/Runing:手机当前显示的屏幕界面,也就是Activity 可见并可交互的激活状态;
Paused: 当被其它Activity 覆盖时的状态,依然保持连接、可见,但是不可交互状态;
Stoped: 当被其它Activity覆盖时的状态,依然保持连接,不可见不可交互的状态;
Killed: Activity 被系统杀死回收,,与系统断开连接,不可见不可交互的状态。
更多信息:
4、什么是 Activity栈
Android 通过 Activity 栈来管理 Activity 的,Activity 实例的状态决定它在栈中的位置,当前显示的屏幕界面总是在栈的顶端,当顶端的界面被销毁或者异常时,处于栈第2层的Activity将被激活,上浮到栈顶,也就是第二层的Activity将要上升到手机当前屏幕界面。反之,如果启动新的Activity入栈的时候,原顶端Activity会被压入栈的第二层。
5、Activity 的生命周期有哪些?
onCreate: 创建界面调用,进行初始化数据工作;
onStart: 一般在onCreate方法之后被调用,进入到可见不可交互的状态,;
onResume: Pause和Active状态互转的时候调用,进入用户可交互的的状态;
onPause: 暂停时调用,进行可见不可交互状态,系统会停止Activity一些工作;
onDestroy: 结束或者kill时调用,一般进行释放资源、清理内存等工作;
onStop: 被其它Activity覆盖时调用,变得不可见不可交互状态。
6、Activity 加载模式有哪些?
standard:就是intent(为提供交流通讯描述的相关信息)将发送给新的实例,所以每次跳转都会生成新的activity;
singleTop:也是发送新的实例,但不同在于请求的Activity正好位于栈顶时,不会构造新的实例;
singleTask:当intent到来需要创建singleTask的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它;
singleInstance:singleInstance模式就是将该Activity单独放入一个栈中,这样这个栈中只有这一个Activity,不同应用的intent都由这个Activity接收和展示,这样就做到了共享。
7、Activity 启动顺序是怎样的?
7.1、一个Activity的启动顺序:onCreate()
     -> onStart()
     -> onResume()
7.2、当另一个Activity启动时: 第一个Activity onPause()
     -> 第二个Activity onCreate()
     -> onStart()
     -> onResume()
     -> 第一个Activity onStop()
7.3、当返回到第一个Activity时:第二个Activity onPause()
     -> 第一个Activity onRestart()
     -> onStart()
     -> onResume()
     ->第二个Activity onStop()
     -> onDestroy()
7.4、一个Activity的销毁顺序:
     7.4.1、onPause() -> <Process Killed>
     7.4.2、onPause() -> onStop() -> <Process Killed>
     7.4.3、onPause() -> onStop() -> onDestroy()
8、其它说明:本节是概念性介绍,了解即可,为后续安卓开发打点小基础。
9、原帖转自:。

10、励志成为博客园大牛,喜欢就关注推荐我吧,哈哈。

转载于:https://www.cnblogs.com/try123/p/4334505.html

你可能感兴趣的文章
STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发
查看>>
异步表单提交
查看>>
[洛谷U871]building
查看>>
次小生成树
查看>>
Redis在windows下安装过程
查看>>
ip转城市接口,ip转省份接口,ip转城市PHP方法
查看>>
android 注释常用标签
查看>>
Spring context:property-placeholder 一些坑
查看>>
如何使用 adb 命令实现自动化测试
查看>>
中国剩余定理
查看>>
JS中this的详解及例子
查看>>
用Entity Framework 来创建MySql数据库和表结构
查看>>
TensorFlow随机值:tf.random_normal函数
查看>>
poj 1733 Parity game(种类并查集)
查看>>
SQL Server2008函数
查看>>
课堂随笔3月8日下午
查看>>
ORM之F查询和Q查询
查看>>
BIOS编程相关常用外设介绍
查看>>
springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源
查看>>
NO 3 ,人生苦短,我学python之python 元祖tuple魔法
查看>>