recreate()、finish()与onBackPressed()
recreate()
内存不足时Activity被回收,再到此Activity系统重新恢复。调recreate重创Activity比正常启Activity多调onSaveInstanceState()
和onRestoreInstanceState()
。onSaveInstanceState()于onCreate前调,可于onCreate()获onSaveInstanceState()所存Theme数据。
finish()与onBackPressed()
说明
按BACK键调onBackPressed(),相对finish存一些其它操作(涉及Activity状)
源码
/*** Called when the activity has detected the user's press of the back* key. The default implementation simply finishes the current activity,* but you can override this to do whatever you want.*/
public void onBackPressed() {if (mActionBar != null && mActionBar.collapseActionView()) {return;}if (!mFragments.getFragmentManager().popBackStackImmediate()) {finishAfterTransition();}
}
onBackPressed关ActionBar展开菜单(collapseActionView)后对FragmentManager退栈操作(popBackStackImmediate),最后关Activity。低版直调finish,高版调finishAfterTransition。Activity于活动时调无任何问题,于onSaveInstanceState后调onBackPressed报错。Toolbar场景调onBackPressed正常,因Toolbar返按钮须于Activity活动状点。
注意
- 调onBackPressed()需注意Activity状
- 调onBackPressed()不定能关Activity
- 调onBackPressed()关Activity(终究调finish)
或现问题
网络请求回调最好finish,因无法保证请求回调前用户没按Home键致应用进后台。
recreate()、finish()与onBackPressed()相关推荐
- Android中Finish和OnBackPressed、OnDestroy的区别
开发的过程中,常常见到finish()和onBackPressed()以及ondestory好像都能关掉Activity.自己抽空总结一下,首先看源码,源码基于'androidx.appcompat: ...
- android finish 区别,Android开发,源码分析finish()和onBackPressed()的区别
finish(),用的最多的一个关闭当前activity的方法. onBackPressed(),平时不怎么用,是android返回按钮调用的一个方法. 一般来说,这两个方法的作用是一致的. 但是在我 ...
- Android 重写onBackPressed()方法 不执行问题
@Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); To ...
- Android应用点击两次back退出
Android应用点击两次back退出 在android开发过程中,点击两次back退出应用还是很常见的了.实现这一效果也不是很难,思路就是记录两次点击back的时间差.只要这个时间差在我们设定的范围 ...
- 【常见问题】Can not perform this action after onSaveInstanceState
onSaveInstanceState是干什么的呢? 通过该方法保留的实例状态数据,然后借助onCreate(Bundle) or onRestoreInstanceState(Bundle),我们可 ...
- Android向上显示更多内容,如何在Android中为2个父项实现向上导航,指向1个子活动...
我想知道是否可以实现导航系统,其中一个子活动可以有两个父活动.基本上,我有一个用户可能喜欢的内容流.他们可以通过电子邮件共享已保存的项目,来自流活动和显示"受欢迎"内容的活动.我想 ...
- android安全问题(二) 程序锁
导读:本文介绍如何实现对应用加锁的功能,无须root权限 某些人有时候会有这样一种需求,小A下载了个软件,只是软件中的美女过于诱惑与暴露,所以他不想让别人知道这是个什么软件,起码不想让别人打开浏览.而 ...
- 启动Activity的流程(Launcher中点击图标启动)
启动Activity一般有多种方式,常见的有三种: 在Launcher桌面点击app图标 调用startActivity启动一个Activity 命令am start启动 这三种方式在服务端的处理方式 ...
- 使用华为nexus6p进行拍并照裁剪图片和从相册裁剪图片
在项目的兼容适配上碰到了一个问题,就是之前写好的上传头像功能在华为nexus6p原生机上不能使用了. 经过一番研究发现是以下两个问题导致的: 1.url的路径产生了变化,导致获取bitmap的方法跟着 ...
最新文章
- linux yum 本地源配置
- MATLAB垂直搜索图片中的白段
- Hibernate Session的Flush模式
- java填空题答案_JAVA求填空题答案
- 卧虎藏龙2不显示服务器列表,《卧虎藏龙贰》iOS平台 合服公告(第2期)
- 经典C语言程序100例之十八
- grafana 创建仪表盘_创建仪表盘前要问的三个问题
- Vue 犯罪指南:TypeError: Right-hand side of 'instanceof' is not an object
- python 列表推导_Python 列表推导式使用的注意事项
- Windows批处理BAT脚本
- 在Fedora上搭建GTK+的开发环境
- SPOJ 104 Highways(最小生成树计数)
- 模板模式 php,PHP设计模式5-模板模式
- 数据冲突Statspack ORA-00001 unique constraint violated错误的解决
- Java和C++的对照
- 前端-html实现省份、地市、区县三级联动
- 制作种子怎么上传服务器,怎么做种子,又怎么发布呢?
- java 四边形_Java 实例 – 打印平行四边形
- top.layer.open()是什么东西
- Linux下移动anaconda虚拟环境的位置
热门文章
- HSIC Bottleneck的C++程序实现
- 学计算机也是科学家专业吗,计算机属于工学还是理学?工学和理学有什么区别?计算机有哪些专业...
- 如何改typecho主题头像_微信头像分析:一次主观的解读
- 用OpenCV实现Photoshop算法(十): 美白磨皮(未完)
- 面试的HR找现公司打听,导致我被开除...
- 【java毕业设计】基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统
- revit 转换ifc_Revit导出ifc步骤有哪些?Revit 模型导出 .exe 脱机文件的方法步骤
- 世界四大耳机品牌,附排名。
- 大学生外卖市场需求状况调查数据可视化报告
- 《风火之旅》排队排出“新思绪”