真正的大师,总是怀着一颗学徒的心。

大家好,我是小黑,一个还没秃头的程序员~~~

如今,很多Android手机已经支持多屏任务了,也就是说你可以边追剧边回好友消息了,所以,今天的内容是记录Android7.0出的分屏多任务模式的活动生命周期变化过程,喜欢的朋友帮忙点击底部“

(一)华为手机分屏测试(Android10)

运行一个App,以MainActivity为例1.打开App时的生命周期



android 多任务模式 安卓多任务分屏_分屏

onCreate->onStart->onResume


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

android 多任务模式 安卓多任务分屏_android 多任务模式_02

onPause->onStop
onPause->onStop


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

android 多任务模式 安卓多任务分屏_分屏_03

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


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

android 多任务模式 安卓多任务分屏_生命周期_04

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


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

android 多任务模式 安卓多任务分屏_分屏_05

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


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

android 多任务模式 安卓多任务分屏_分屏

onCreate->onStart->onResume
onCreate->onStart->onResume


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

android 多任务模式 安卓多任务分屏_android 多任务模式_02

onPause->onStop
onPause->onStop


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

android 多任务模式 安卓多任务分屏_分屏 取消_08

onDestroy->onCreate->onStart->onResume
onDestroy->onCreate->onStart->onResume


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

onPause
onPause


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

onResume
onResume


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

android 多任务模式 安卓多任务分屏_分屏 取消_09

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


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

android 多任务模式 安卓多任务分屏_android 多任务模式_10

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

注:


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

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