Activity和Fragment小笔记

本文探讨了Android中的Activity与Web开发中的Servlet之间的相似性和差异性。它们都是为了展示用户界面而设计,但Activity构建的是移动应用界面,而Servlet则是生成文本响应供浏览器解析。此外,还详细介绍了Activity的不同加载模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activity与Servlet的异同:
同:
都是向用户呈现界面
都继承基类
开发后都要进行配置
Activity运行在Android应用中,Servlet运行在web应用中。
无需创建实例,无须调用方法。Activity和Servlet都是由系统的回调的方式来调用。
都有各自的生命周期,且其生命周期由外部负责管理
不会直接相互调用,因此都不能够直接进行数据交换。Servlet的数据交换依赖于requestScope、sessionScope等;Activity依赖于Bundle。
不同:
Activity是Android窗口的容器,最终以窗口的形式显示出来,而servlet并不会生成应用界面,而是向浏览者生成文本响应。
Activity运行在Android应用中,因此Activity本质还是通过各种界面组件来搭建界面;而Servlet以IO流向浏览者生成文本响应,浏览者看到页面是浏览器负责生成的。
Activity的跳转时Intent负责;Servlet的跳转主要是用户请求。

Activity的四中加载模式:
standrad:就是Task栈一直被使用,不会启动新的Task栈
即每次一个Activity实例都会放入Task中,而不在乎Task的ID是否一样

singleTop:如果目标Activity已经存在在栈顶,不会再重建实例;但是如果不是栈顶,就算里面的栈已经存在实例,还是会新建该实例并加载到栈顶。

singleTask:即永远只有一个实例!若不存在则新建并加载到栈顶,若已经在栈顶则直接使用,若不是栈顶但是已经存在则删掉其之前的 所有实例保证它到栈顶。

singleInstance:
若目标Activity不存在,系统会创建新的Task栈和目的Activity实例,并放入到Task栈顶
若已经存在不管位于哪,都会把该Activity所在的Task转到前台并且显示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值