Activity活动生命相关
启动与结束
页面跳转:
startActivity(new Intent(this,xxxx.class));
关闭当前界面返回上一界面
finish();
//这里我在使用finish遇到一个问题,同时设定了三个活动ABC,A作为主界面启动BC两个活动;其实B为简单的界面演示,C为计算器
//我为两个活动分别添加了除ID以外完全相同的参数,但是在点击返回按钮时(此时B点击监听器内仅包含finish,而C中包含一些包括计算器相关的监听事件)
//B会正常返回A页面,而在C中会可能直接导致程序崩溃,并且会让app图标在桌面上消失
//个人感觉可能和生命周期有关,不太清楚,后续留着问老师


activity启动模式
1.standard
该模式是默认模式,类似于栈的方式
2.singleTop
该模式为栈顶复用模式,大概方法基于栈,但是如果要创建的新activity和栈顶的activity相同,那么将不会创建
3.singleTask
该模式与singleTop类似,不同的是,如果新创建的activity与栈内某一activity相同,将会导致新activity不被创建,依次弹出activity直到到达本activity
应用场景:主界面/耗费系统资源的activity
4.singleInstance
该模式的栈内存为1,但是会产生多个栈,如果要创建已经的activity,那将会唤醒旧的activity
如果我在创建了AB两个页面,两个页面来回跳转,那么栈中会生成很多个ABABABA的activity 如何完善这一问题
//首先创建一个意图对象
Intent intend = new Intent (this,XX.class);
//栈中存在待跳转的活动实例时,重新创建,并清楚该活动上部的活动实例
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
登录成功不再进行登录问题:
登录成功之后信息就会被记录,每次登录时信息都不用再次输入
//启动标志为:跳转到新页面时,栈中原有的页面被清空,同时会创建新的栈
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG.ACTIVITY_NEW_TASK);

代码内可以进行动态修改
Activity活动生命相关的更多相关文章
- Activity(活动)生命周期(3)--活动的生存期
Activity类中定义了7中回调方法,覆盖了活动生命周期的每一个环节. 回调方法: 1.onCreate() 这个方法会在活动第一次被创建的时候调用.我们应该在这个方法中完成活动的初始化操作,比如: ...
- Activity(活动)生命周期(2)--活动状态
每个活动在其生命周期中最多会有4种状态 一.运行状态 当一个活动位于返回栈的栈顶的时候,这时活动就处于运行状态.系统一般不会回收,因为这会带来非常差的用户体验 二.暂停状态 当一个活动不处于栈顶状态的 ...
- Activity(活动)生命周期(1)--返回栈
Android是使用任务(task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的 ...
- Android学习之基础知识四-Activity活动5讲(Activity的生命周期)
一.返回栈 1.Android是通过任务(Task)来管理活动,一个任务就是一个返回栈内所有活动的集合. 2.返回栈是一个后进先出的数据结构,每启动一个新的活动,该活动就会覆盖原来的活动,位于栈顶位置 ...
- android:activity活动的生命周期
掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有 ...
- Android开发之Activity的生命周期以及加载模式
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...
- Android之Activity的生命周期
PS:写一发关于Activity的生命周期,也算是面试的重点内容. 学习内容: 1.Activity的生命周期 2.面对多种情况的时候Activity的生命周期 3.onSaveInstanceSta ...
- Android Activity的生命周期详解
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最 ...
- Android开发艺术探索(一)——Activity的生命周期和启动模式
Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...
- Activity的生命周期和启动模式
Activity的生命周期分析 典型情况下的生命周期.是指在用户参与的情况下,Activity所经过的生命周期的改变. 异常情况下的生命周期.是指Activity被系统回收或者由于当前设备的Confi ...
随机推荐
- .NET桌面程序混合开发之四:键盘事件的响应
1. 问题 在生产环境中,有一些场景需要窗体来响应键盘事件(注意,是窗体响应,而不是窗体上的控件响应),如解析扫码枪的扫描结果.但在嵌入WebView2的Form程序,Host Form无法对键盘事件 ...
- NOIP模拟82
T1 魔法 解题思路 发现选择情况无非就是两种,连续的一段或者间隔为 \(R+B\) 的倍数的一段. 直接对于原序列贪心,每次选择可以消除的部分并将其删掉. 对于合法的情况将操作倒序输出即可. cod ...
- Vue简单自定义Canvas验证码组件。
在您的Vue项目中,是否曾遇到过需要增加验证码来增强账户安全性的情况?这个Vue通用Canvas验证码组件!采用Canvas,实现了高度自定义和灵活的验证码生成方式,让您的网站或应用轻松应对各类验证码 ...
- 面向对象编程 es5和es6的构造函数
/* 面向对象编程 本质 创建一个对象 可以用 属性属性值的 方式 存储 数据参数 ...
- 剑指Offer-62.二叉搜索树的第k个结点(C++/Java)
题目: 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 分析: 二叉搜索树的中序遍历结果正好是按数值升序排列的结 ...
- Go 语言中的异常处理简单实践 panic、recover【GO 基础】
〇.Go 中的异常处理简介 Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误. panic.recover 参数类型为 interface{},因此可抛出任何类型对象 ...
- Spring Boot入门实验
一. 实验目的和要求 1.掌握使用 IDEA 通过 Maven 和 Spring Initializr 的方式创建 Spring Boot 应用程序: 2.掌握 Maven 的工作原理: 3.了解 s ...
- pytest-parallel 多线程执行和allure生成报告,allure生成报告失败
背景: 使用多线程pytest-parallel执行测试用例,使用allure生成测试报告,发现生成报告内容为NaN 使用的pytest执行命令: pytest.main(["TestCas ...
- java多线程-2-概念和实现机制
知其然,而知其所以然! 在计算机领域,有多种操作系统,常见的有windows家族和unix/Linux家族,它们都支持多任务的计算模式. 它们实现多任务的机制是差不多的,这点在<<操作系统 ...
- BST-Treap名次树数组&指针实现板子 Ver1.0
这里只有板子没有原理QWQ 可实现 1.插入 x 数 2.删除 x 数(若有多个相同的数,只删除一个) 3.查询 x 数的排名(排名定义为比当前数小的数的个数 +1) 4.查询排名为 x 的数 5.求 ...