位置: 编程技术 - 正文

Activity重识(重新加载activity)

编辑:rootadmin

推荐整理分享Activity重识(重新加载activity),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:重新加载activity,activity context,重新加载activity,activity context,activity重启,activity重载7个方法,activity一般会重载7个方法来维护生命周期,activity重启,内容如对您有帮助,希望把文章链接给更多的朋友!

Activity在我们开发中就是一个界面的载体,各种各样的应用都是通过Activity加载显示的。

一、单个Activity的生命周期

在Android Developer文档中有个图片描述了Activity具体的生命周期。

当Activity的onResume()方法执行完成之后,我们就可以看到这个界面了,整个Activity处于一个可见的状态。

onPause()方法使当前的Activity处于暂停的状态。

onStop()方法被调用后整个Activity处于隐藏的状态。

onDestroy()方法调用后Activity就从界面中消失掉了,一般在onDestroy方法中做一些收尾的工作

一个Activity从创建到销毁经历的方法:

显示状态的方法:onCreate、onStart、onResume

看不见状态的方法:onPause、onStop

销毁状态的方法:onDestory

二、多个Activity交互的生命周期

MainActivity启动后:

在MainActivity中有个Button按钮,点击后会跳转到SecondActivity

后台生命周期的方法调用:

首先执行了MainActivity的onPause方法,就把当前Activity的状态置为暂停状态,然后执行打开的SecondActivity的onCreate、onStart、onResume方法,当第二个Activity打开完成之后再去执行MainActivity的onStop方法,把MainActivity置为不可见状态。当前显示的是SecondActivity,但是它的背后还有个MainActivity。

当点击back键后,生命周期方法的调用:

Activity重识(重新加载activity)

当要显示的Activity属于隐藏的状态的时候,那么它会执行onRestart,而不是onCreate方法。

那Android为什么这么设计Activity生命周期的交互,为什么要先暂停当前显示的Activity?为什么在打开新的Activity的时候,不是先执行当前Activity的onPause,onStop方法,而是执行要打开的新的Activity的onCreate、onStart、onResume?

首先要不是先暂停当前Activity,如果当前Activity正在播放声音或视频,这时打开了一个新的Activity,在新Activity画面已经出现的时候,上个Activity的声音还在,这样就会给用户非常不好的感觉。再则,先执行当前Activity的onPause、onStop方法,这时google提供的一种安全保护机制,如果在启动一个Activity的时候出现了异常导致Activity界面的闪退,这时如果按照先onStop的话,那Activity就会处于不可见的状态,这时再打开的新Activity又因为异常闪退,那这时留给用户的就是黑屏状态了。

三、Activity横竖屏切换

Activity启动时调用的生命周期方法

横竖屏切换时调用额方法:

可以看出切换的时候是把Activity销毁后再新建一个,在这样的情况下,在处理横竖屏切换的时候不得不对Activity相关的状态进行保存,onSaveInstanceState方法是整个Activity销毁的时候提供给我们去保存一些当前的状态信息。

在Activity销毁前可以把信息保存在Bundle中。存储在系统中的&#;怎么拿取出来呢?

我们可以在onCreate方法的Bundle参数中获取。可以判断这个参数是否为空,如果不为空获取其中的&#;

四、Activity的启动方式

直接启动

一般在项目中启动自己的Activity都是通过这种直接启动方式,根据Activity的名字就可以拿到要启动的Activity。

匿名启动

比如想去启动别的app的Activity,我们不可能知道别的app的Activity的具体名字,那就只能通过另外一种方式,通过action具体的去启动Activity。

如果要隐式启动一个Activity,那么这个Activity要在Manifest文件中配置了action。

Category属性用于指定当前动作(Action)被执行的环境

五、打开系统常见的Activity

andorid下从相册选取/拍照选取一张相片并剪切 在Android编程中,从相册选取或是拍照选取一张照片然后对其进行剪切的需求非常的多之前的一篇文章只说到如何从相册中获取一张照片,今天就跟大家

android数据存储读取3:对象保存(对比IOS) Android下通过文件或者通过sharedPreference都可以保存对象IOS下使用NSCoder保存起来,也很方便。Android:文件保存对象(要保存的对象一定要实现序列化的接口

五十八 后记 我在软件园的那些日子里 第一部《职场的温柔》 下载地址:

标签: 重新加载activity

本文链接地址:https://www.jiuchutong.com/biancheng/386721.html 转载请保留说明!

上一篇:Android API文档_AudioFormat(android sdk api文档)

下一篇:andorid下从相册选取/拍照选取一张相片并剪切(android下载图片并保存到本地)

  • 出售写字楼需要什么手续
  • 什么是税务代理人
  • 飞机票抵扣进项税怎么计算民航发展基金
  • 劳务税能退税吗现在
  • 质保金一年怎么写
  • 员工没工资,但缴纳了社保,需要申报吗
  • 公司所得税费用怎么算报多少钱
  • 邮局可以开发票吗 税点多少
  • 人力资源服务发票
  • 固定资产未到期报废进项税额需要转出吗
  • 简易征收和简易计税的区别
  • 出售未完成折旧固定资产进项税转出
  • 零售商品收入会计分录
  • 收到违约金应缴增值税吗
  • 三级科目称为子目吗
  • 小微企业增值税减免账务处理
  • 提现的现金支票是什么
  • 购买固定资产货款未付
  • 软件开发开增票几个点
  • 公司车贷款还款怎么操作
  • 金税盘电子发票怎么开
  • 增值税普票当月开错了怎么办
  • 税法中的视同行为如何开具发票
  • 苹果mac系统桌面空间不够
  • php session_start
  • 微信支付被限制是怎么回事
  • 付款给代账公司的费用是什么科目
  • 可转换债券的特点有哪些?
  • vb enabled
  • php实现原理
  • 私企固定资产管理办法
  • 套期工具的会计分录
  • Eclipse PHPEclipse 配置的具体步骤
  • 阿里云搭建hexo
  • 表格uplook
  • 合并资产负债表模板
  • 利息收入做红字
  • 27岁零基础转行做网络工程师
  • 免税农产品怎么抵扣进项税
  • 劳务派遣工资的发放单位
  • 固定资产大修理和更新改造的区别
  • 进出口贸易出纳主要做什么
  • 利润分配账务处理例题
  • 私车公用必须是公司员工的车吗?
  • 增值税进项税额抵扣期限最新
  • 小规模以前年度城建税未计提
  • 合伙企业的利润分配,合伙协议没有约定的
  • 个体户减免税额怎么填
  • 信息服务的最终目的是什么
  • 购进原材料如何结转成本
  • 营业外支出为负数原因
  • 红字信息表开错了对方已开发票怎么处理
  • 哪个行业的会计最难
  • 新办企业建账
  • 添加到右键快捷方式
  • xp系统如何查询配置
  • ubuntu搭建tftp服务器
  • 苹果mac浏览器
  • centos5.4 安装
  • centos硬盘分区磁盘分区
  • Windows Server 2012实用技巧集锦
  • Linux系统怎么设置中文输入法
  • node.js动态网页
  • 使用linux的收获心得
  • js原生dialog
  • nodejs操作mongodb
  • jquery自定义插件
  • android应用程序
  • for循环取数据
  • macos mono
  • python查找字符串中指定字符的个数
  • javascriptjs
  • jquery mvvm框架
  • android canvas rotate
  • 国家税务总局介绍
  • 为构建和谐企业
  • 实名办税信息采集的身份证件
  • 垠坤集团是属于国企吗
  • 个体工商户自己开普票流程
  • 可以在企业所得税税前扣除的税金
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设