Android异常退出时Activity数据的保存和恢复

本文章是基于Kotlin版的简单Activity-Fragment状态切换及数据保留的探讨,原问题如下:页面长时间放置后台,或者在其他页面crash后,退到主页面,发现智护页面出现重叠。该页面架构简单:主Activity对两个Fragment,一个智护Fragment,一个报告Fragment。一、Activity创建时读取数据正常情况下Activity的生命周期比较简单,这里就不详细叙...
摘要由CSDN通过智能技术生成

本文章是基于Kotlin版的简单Activity-Fragment状态切换及数据保留的探讨,原问题如下:
在这里插入图片描述
页面长时间放置后台,或者在其他页面crash后,退到主页面,发现智护页面出现重叠。
该页面架构简单:主Activity对两个Fragment,一个智护Fragment,一个报告Fragment。

一、Activity创建时读取数据

正常情况下Activity的生命周期比较简单,这里就不详细叙述了,不清楚的可以自行百度~
Activity在创建的时候会执行生命周期的OnCreate方法,该方法的参数为Bundle类型。那么这个数据是从哪里得来的呢?

override fun onCreate(savedInstanceState: Bundle?) {
}
1、Activity如何保持数据

当横竖屏切换时,Activity会被销毁,生命周期方法onPause,onStop,onDestory等均会被调用,此时Activity属于异常情况下终止的,所以系统会调用onSaveInstanceState方法对Activity的状态进行保存。该方法在onStop之前调用,与onPause没有既定的时序关系。
当出现Crash时,除了其他的生命周期方法不会执行外,也会执行保存数据的操作。
当Activity被重新

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值