启动与结束
页面跳转:
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,Intent,activity,相关,跳转,页面 From: https://www.cnblogs.com/kun1790051360/p/17067260.html