亲测Activity生命周期及2个Activity 之间切换触发的的方法时间点

来源:互联网 发布:淘宝网小女孩连衣裙 编辑:程序博客网 时间:2024/06/01 08:38


测试过程:

1,打开app主页,及MainActivity.java 里渲染的视图,触发onStart()->onResume(),onStart() 状态用户可见不可交互,有点系统准备好了显示的感觉,但还不能进行交互,没有激活。



logcat,捕捉到的信息:

2,点击新的Activity,测试点击了TestMediaActivity.java 这个新的Activity,logcat捕获到信息:



证明从一个Activity,进入新的Activity首先会onPause() 暂停当前的Activity,数据会被缓存起来,等待唤醒,接着那个新的Activity 会执行一遍刚开始打开app 进入Main的过程,同样是onStart()->onReseme();走到用户的视野中,当新的Activity 没有问题会把前面那个Activity 触发onStop();不能显示,停止掉,但没有销毁,只是看不到。


3,点击后退键,返回到前一个Main的Activity,信息如下:




依旧是先暂停onPause()掉当前的Activity,再重新开启一个新的Activity,成功开启后就把前面的onStop() 停止掉,且马上会onDestroy()销毁掉。彻底不在内存。



4,继续测试,这时按下home键,手机界面回到主页。这时app的mainActivity 会被onPause()->onStop() 仅仅是被暂停后停止,而不是销毁,通过查看活动的app也能看都,确实是这样的。




5,再次打开app,显示mainActivity,会触发onStart()->onResume(),再次显示到眼前





6,彻底关掉整个app,




依旧是先暂停,停止,最终销毁。当一个Activity播放一段音乐的时候,如果这个Activity被关掉了,音乐可以同事也关掉,也可以继续播放,但是当再次进入就必须重新播放或者继续前面的播放,而不是重新执行一个mediaplayer、那样会有个2个人在唱歌,教训很惨重,所有有了上面的测试。

原创粉丝点击