记录Android7.0以上手机开启分屏后活动的生命周期变化

记录Android7.0以上手机开启分屏后活动的生命周期变化

本文地址:https://blog.csdn.net/qq_40785165/article/details/112565073,转载需附上此链接
(一)华为手机分屏测试(Android10)
运行一个App,以MainActivity为例
1.打开App时的生命周期
截图

onCreate->onStart->onResume

2.打开任务列表时的生命周期
截图

onPause->onStop

3.在任务列表中进行分屏后的生命周期
截图

onDestroy->onCreate->onStart->onResume->onPause->onResume
这里我手机的分屏会自动获取焦点,没有焦点的只会走到onPause,需要自己手动点击activity获取焦点
所以一些播放视频或者动画效果的功能,暂停的功能代码就不能放在onPause里了,应该放在onStop里

4.取消分屏时的生命周期
截图

onPause->onStop->onDestroy->onCreate->onStart->onResume

5.移动分屏时的生命周期
截图

onPause->onStop->onDestroy->onCreate->onStart->onResume

(二).小米手机分屏测试(Android10)
1.打开App时的生命周期
截图

onCreate->onStart->onResume

2.打开任务列表时的生命周期
截图

onPause->onStop

3.进行分屏时的生命周期
截图

onDestroy->onCreate->onStart->onResume

4.回到桌面时的生命周期

onPause

5.回到分屏时的生命周期

onResume

6.移动分屏时的生命周期
截图

onPause->onStop->onDestroy->onCreate->onStart->onResume

7.退出分屏时的生命周期
截图

onPause->onStop->onDestroy->onCreate->onStart->onResume

注:

因为分屏的时候会重新走生命周期,对于fragment尽量使用replace而不是add,数据请求也会多调用几次,
要是介意的同学也可以使用下面的代码在AndroidManifest.xml中配置禁用分屏,分屏的时候系统会有不支持分屏的提示
android:resizeableActivity="false"

以上就是两种手机的分屏时的生命周期测试了,记录下来方便以后写逻辑时多加注意,其他手机由于条件限制没有办法测试,如若有什么不一样的地方欢迎朋友们下方评论区多多指教,大家共同进步!

猜你喜欢

转载自blog.csdn.net/qq_40785165/article/details/112565073