多个Activity生命周期交叉

多个Activity生命周期

说起单个Activitity的生命周期,大家都不陌生,那么多个Activity之间的调用流程你知道吗?

demo

ActivityA、ActivityB。
从A 启动跳转到B,再从B结束返回A。流程如下,当B结束时

A:onPause ->B:onCreate ->B:onStart ->B:onResume ->A:onStop ->(B界面停留后关闭)->B:onPause -> A:onStart -> A:onResume->B:onStop->B:onDestory

我们看到并非是 一个Activity 的生命周期完全走完才走另一个Activity的流程。
尤其是onStop方法,是在另一个Activity onResume后才调用。
另外如果ActivityA 是透明主题的Activity,则A不会走onStop方法。

可能遇到的问题

1.Activity延迟启动/显示
1.如果在onCreate()、onStart()方法中做了耗时操作,那么在启动的时候会出现卡顿现象,严重的还会ANR
2.如果在上一个界面的onPause()中做了耗时操作,同样会卡顿。
2.Activity延迟销毁
1.如果在结束的界面的OnPause、onStop、onDestory 做耗时操作,会造成Activity的延迟销毁。
2.如果在即将要显示的界面的onResume中做耗时操作,同上.

还有一个比较常见的问题就是动画,如果界面做了耗性能的动画显示,而且动画没有关闭的情况下,结束界面或者显示界面,则都有可能会发生上述情况。一般会有10s的延迟回调

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值