Android中如何区分界面组件创建和销毁的类型
2024-08-25 14:49:16
本文主要描述:
1.分辨系统杀掉退出还是用户主动退出
2.分辨全新的创建还是系统恢复性的创建
1.分辨系统杀掉退出还是用户主动退出
当一个组件失去焦点后,系统有可能为了释放资源而杀掉这个组件,这个时候系统会调用到onSaveInstanceState方法用来通知保存一些状态数据。而如果用户是按下了back键或者在代码的某个地方 执行了context.finish()而导致组件退出,则不会走到onSaveInstanceState方法。
所以可以根据是否走到了onSaveInstanceState方法来判断组件是被系统杀掉退出还是用户主动退出
2.分辨全新的创建还是系统恢复性的创建
同理,如果是系统杀掉了组件,那么如果将来需要恢复这个组件(即组件重建,比如旋转屏幕),那么在onCreate中传来savedInstanceState这个Bundle数据就不是空的。反之若是新创建的组件,这个Bundle一定是空的。
所以在写一个activity的时候,在onCreate里面要处理这个组件是新创建的还是系统恢复性的创建,这个对后面的后续的逻辑是有区别的。
比如一个邮件的撰写邮件:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); if(savedInstanceState != null)
{
lastState = savedInstanceState.getBoolean("***");
// restore last view
}else
{
String action = getIntent().getAction();
if(Intent.ACTION_SEND.equals(action) || Intent.ACTION_SENDTO.equals(action) || Intent.ACTION_VIEW.equals(action)
|| Intent.ACTION_SEND_MULTIPLE.equals(action))
{
//send email, then parse the sender name or text content from intent. init the email sending view
}
}
}
最新文章
- 简历生成平台项目开发-STEP5初步界面demo实现
- asp.net 无法加载程序集***
- 虚幻4外包团队-推荐非常全面的的Unreal教程
- duilib 的IE浏览器控件去边框和去滚动条的代码
- pigcms 标签读不出
- 【转】Web应用的组件化开发(一)
- jQuery_效果(淡入淡出)
- Linux之最最最最基础(包括在虚拟机中安装linux系统)
- php curl详细解析和常见大坑
- 【LeetCode】284. Peeking Iterator
- ArcGIS Runtime SDK是什么?
- Java Calendar类的使用总结
- TCP连接笔记
- 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
- 树莓派做路由器_配置防火墙filter和nat转发_转载
- 基于虹软 2.0 人脸识别猜年龄 java版 demo
- 【NLP】pyhanlp flask
- MySql修改WordPress密码
- 2018-2019-2 网络对抗技术 20165322 Exp4 恶意代码分析
- 使用Mybatis连接到Mysql报错,WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be esta
热门文章
- 剑指Offer面试题:11.调整数组顺序使奇数位于偶数前面
- kali视频(21-25)学习
- docker -ce(社区免费版)
- 剑指offer-第六章面试中的各项能力(不用加减乘除做加法)
- tomcat启动报错:java.lang.NoClassDefFoundError
- plsql无法连接64位oracle数据库的解决方法
- Win10的Hosts文件修改后无法保存的问题解决方法,实测可以
- FPGA中RAM使用探索
- Go基本语句
- 概念与用法-cookie,session,auth (认证系统)