【原创】Activity 概念介绍(大全)

【面向人员】:立志于安卓开发的所有人员,做到真正的从零基础起步;
【教程说明】:本教程在内容上保证原创、简洁、详细,在附件链接上保证可用、最新、完整;
【回帖说明】:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此开源、分享、共进。

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:也是发送新的实例,但不同standard在于请求的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、原帖转自:http://www.try8.cn/thread-513-1-1.html

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

时间: 2024-10-09 00:36:09

【原创】Activity 概念介绍(大全)的相关文章

转android intent action 介绍大全

一些常用的Intent: Uri Action 功能 备注 geo:latitude,longitude Intent.ACTION_VIEW 打开地图应用程序并显示指定的经纬度   geo:0,0?q=street+address Intent.ACTION_VIEW 打开地图应用程序并显示指定的地址   http://web_address Intent.ACTION_VIEW 打开浏览器程序并显示指定的URL   https://web_address Intent.ACTION_VIEW

android.app.Activity 的介绍

发现当前Android的资料不是很多,而且对于Activity的介绍也很少,所以把官方文档的android.app.Activity的介绍翻译了一下,加入了一些自己的理解.各位如果觉得我自己理解的不对,请无视.欢迎邮件讨论. android.app public class android.app.Activity java.lang.Object android.content.Context android.app.ApplicationContext    ViewInflate.Fact

【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

集群概念介绍(一) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集群进行配置安装,前后经历2,3个

rac学习--集群概念介绍

集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集

Activity 属性设置大全

activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务,比如从短信息任务切换到浏览器任务. android:alwaysRetainTaskState=["true"|"false"] 是否保留状态不变,比如切换回home,再从新打开,activity处于最后的状态 android:clearTaskOnLaunch=[&

北京簋街 美食全然攻略 + 簋街好吃的夜宵去处-----店铺介绍大全

作者:lihao102 为什么叫簋街? 簋街东起二环路东直门立交桥西端,西到交道口东大街东端.在这条全长1442米的东内大街上,沿街共同拥有各种商业店铺150多家,当中餐饮服务业100多家,约占东内大街所有店铺的60%以上.饭馆密度如此之大,全北京恐怕再也找不出第二条来了.至于簋街名字的由来,据说是来自老北京的“鬼市”.早年北京那些以贩卖杂货菜果为主的集市,后半夜开市,黎明即散,摊主以煤油灯取亮,远处看上去灯影憧憧,故名“鬼市”.另一种通常的说法是东直门内大街餐厅生意红火,因为来此宵夜的出租汽车

输入子系统概念介绍

输入子系统在内核中的位置:/driver/input drivers/input/input.c: input_init ---> err = register_chrdev(INPUT_MAJOR, "input", &input_fops); static const struct file_operations input_fops = { .owner = THIS_MODULE, .open = input_open_file, }; 问:怎么读按键? inpu

Shiro权限控制框架入门1:Shiro的认证流程以及基本概念介绍

前言:我在最开始学习Shiro这个框架时,在网上搜索到的一个介绍比较全面的教程是:<跟我学Shiro>系列教程.但是在我看了他写的前几篇文章后,我发现虽然他在这个系列教程中把shiro的一些特性介绍地非常全面详细,但是整个教程的叙述方式还是有很大缺陷的.文章与文章之间并没有很好地串联起来,每篇文章介绍的东西都过于分散了,如果是对shiro完全不了解的新手来看的话完全是一场噩梦.就像一个网友评价的这样: 看了看这个教程,看完之后都想放弃shiro了,完全看不懂,后来百度了很多别的资料才理解了sh

足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一)

在足球赛事数据库以及统计分析预测平台中,有很多概念,如果不搞懂,很难进行下一步的工作.所以为了配合团队人员的学习和任务进行,特意编写这篇文章.如果有其他问题和不懂的,请留言,将根据情况进行更新. 本文原文地址:足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一) 1.指数1/2/3.... 我在 足彩基础知识入门(3)足彩赔率的本质 一文中介绍了赔率的概念,那么指数的概念和赔率以及结果是相关的.我们举个例子: 如上图的比赛,前面是竞彩非让球的赔率:1.74-3.25-4.15,也就是说