位置: 编程技术 - 正文

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下载图片并保存到本地)

  • 出口退免税是什么意思
  • 小规模纳税人减按1%如何填报申报表
  • 跨月的增值税专用发票怎么作废重开
  • 增值税票是什么
  • 中山哪家企业招聘残疾人
  • 分期付款购买商品的会计分录
  • 职工教育经费8%怎么算
  • 房屋租赁收入如何征税?
  • 员工食堂餐费可以报销吗
  • 商品入库时的会计分录
  • 餐费可以入成本吗
  • 企业关闭股东拿回投资款需要交税吗
  • 外省农村户口可以迁到外省农村吗
  • 免抵退税额抵减额和不得免征和抵扣税额是一个意思吗
  • 公务用车用油
  • 国债利息纳税调增还是减
  • 营改增后征收增值税的税目
  • 金税盘电子发票怎么开
  • 企业所得表怎么填写
  • 物流公司增项
  • 1697510302
  • 如何玩faceit
  • vue项目中的package.json是( )?
  • 物业公司的水电工工作职责
  • 苹果笔记本下载的itunes在哪
  • npm info: node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
  • PHP:finfo_open()的用法_fileinfo函数
  • 不能抵扣的发票可以做成本吗
  • 珀泽申群岛上的阿德利企鹅,南极洲 (© Tui De Roy/Minden Pictures)
  • 厄勒布鲁赛程500
  • 预付办公用品费用,未收到发票
  • 企业购买银行理财
  • 适用加计抵减政策需要提交什么资料
  • 投资收益属于营业外收入吗
  • thinkphp框架介绍
  • vue关闭路由
  • python pyecharts
  • 微擎框架开发小程序
  • 医院会计医保怎么做账
  • mongorepository排序
  • 收到汇算清缴的退税需要交税吗
  • 预付款为什么不扣质保金呢
  • 自然人独资公司可以变更法人吗
  • 《中华人民共和国禁毒法》自( )起施行
  • SQL2005 provider: 命名管道提供程序 error: 40 无法打开到 SQL Server 的连接
  • mysql Non-Transactional Database Only(只支持MyISAM)
  • mysql乱码问题怎么解决
  • 其他综合收益算当期损益吗
  • 未投入使用的固定资产折旧计入什么科目
  • 消费税如何计量
  • 先收到发票还没付款怎么做账
  • 托收承付方式销售商品是什么意思
  • 未取得发票该怎么说明
  • 成本结转怎么做分录
  • 经营性租赁账务处理方法
  • 企业开办费会计分录
  • 应收票据和应付票据的区别
  • 发票要不回来怎么办
  • mysql使用技巧
  • mysql保存命令
  • sqlsever修改数据
  • mysql复制数据
  • amd furyx
  • mac自动操作怎么停止
  • spoolsv.exe是什么文件
  • win7系统扫描在哪里
  • win7无法安装谷歌
  • win8系统怎么创建局域网
  • centos永久修改主机名
  • raid主要使用三种技术
  • win7怎么连接其他电脑共享的打印机
  • 我是如何从0开始做到年入1000+万的
  • css文件放在什么目录
  • 手机端apk反编译工具_android反编译工具
  • jquery页面跳转的方法
  • jqueryfor
  • 养殖业免税用报税吗
  • 网上交了购置税你要打印出来吗
  • 关税下降的好处
  • 荆州区国税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设