首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Activity onStop,onDestroy延迟10s执行

最近发现项目里的一个问题.从 Activity A 进入 Activity B.然后从B返回的时候理论上应该是A onResume之后就会走B的onStop,onDestroy.但是并不是,发现在极端情况下会延迟将近...(r.finishing) { //注意参数 FINISH_IMMEDIATELY //注意是 stops 数组,调用onStop...,onDestroy 接下来就有个疑问了,为啥 onStop,onDestroy 没有立即执行?...必须要等到 MessageQueue 里面没有数据的时候才会去调用 也就是说 onStop,onDestroy 的调用和消息队列有关.如果消息队列很快就空了, onStop,onDestroy 就很快返回....如果主线程还有消息未处理(比如一直 invalidate )会一直处理,直到超过10s强制调用 现在终于明白为啥 onStop,onDestroy 没有直接返回.那么文章最初的问题又该如何处理呢?

1.9K70
您找到你想要的搜索结果了吗?
是的
没有找到

Activity的生命周期

Activity正在重新启动 从不可见重新变为可见状态 这种情况一般是用户行为导致的 比如用户按HOME键切换到桌面或者用户打开了一个新的Activity这时当前的Activity就会暂停 也就是onPause和onStop...已经可见 但还没出现在前台 还无法与用户交互 (4)onResume 表示Activity已经可见了 并出现在前台并已经开始活动 (5)onPause 表示Activity正在停止 正常情况下onStop...就会被调用 特殊情况下 如果这个时候快速回到当前Activity那么onResume会被调用 onPause必须先执行完新Activity的onResume才会执行 (6)onStop 表示Activity...即将被销毁 (1)针对一个特定的Activity第一次启动 onCreate ->onStart->onResume (2)当用户打开新的Activity或者切换到桌面的时候 onPause->onStop...(3)当用户再次回到原Activity时 onRestart->onStart->onResume (4)当用户back键回退时 onPause-> onStop->onDestroy (5)当Activity

28020

Activity详解(一)——典型生命周期分析

5)onPause:表示Activity正在停止,正常情况下onStop就会被调用,在特殊情况下,如果这个时候快速地回到当前Activity,那么onResume会被调用。...6)onStop:表示Activity即将停止,可以做一些稍微重量级的回收工作,同样不能太耗时。...2)当用户打开一个新的Activity或者切换到桌面的时候,回调如下:onPause——》onStop 这里面有一个种特殊情况,如果新Activity采用了透明主题,那么当前Activity不会回调onStop...onStart和onStop是从Activity是否可见这个角度来回调,而onResume和onPause是从Activity是否位于前台这个角度来回调的。...在onPause和onStop都不能执行耗时操作,尤其是onPause。这也意味着,我们应当尽量在onStop中做操作,从而使得新Activity尽快显示出来并切换到前台。

1K20

2014-10-25Android学习--------HealthFood应用程序效果图----Android的应用程序的生命周期

() { // TODO Auto-generated method stub super.onStop(); System.out.println("onStop"); } @Override...可以看到当点击返回菜单时,logcat里面多了两行输出: 4.onStop() 5.onDestroy() 这个时候模拟器的界面如下所示:返回了手机主界面 ?...4.void onStop() 如果用户直接按了Back()键,意味着将当期的activity从Task任务中移除,也就是执行了该窗体的onStop()事件 5.void onDestroy() 当activity...被销毁的时候执行onDestroy()事件,在窗体的onStop()事件之后,如果没有再次查看该窗体的话,activity则会被销毁。...这个时候logcat只打印了一行,执行了onStop()事件 接下来我们再返回这个应用程序: ? 如上操作,我们可以看到这样的结果: ?

50550

Android Activity详解(一)

() { super.onStop(); Log.i("MainActivity--->","onStop"); } @Override protected void onDestroy() { Log.i...SecondActivity开启,逻辑层面的可见状态) I/SecondActivity--->: onResume(SecondActivity页面运行中) I/MainActivity--->: onStop...为什么MainActivity跳转到另一个页面仅仅只进入了onStop()状态却没有被onDestroy(),在这我们需要说明一个安卓的回退栈的问题。...图画的不好看,见谅 当然,活动生命周期的改变并不仅仅由跳转页面所决定,比如手机的配置比较低,高优先级的系统级应用需要内存就会把应用杀死,那毫无疑问 活动将由onResume——>onPause——>onStop...——>onDestroy 最后一个特殊情况再测试点击手机HOME键: 绝大多数的教程内均写的是点击HOME键任务进入后台,活动onStop()被保存,但是我在真机测试时并不是这样 I/MainActivity

88310

Android开发:5分钟解析Activity&Fragment生命周期

即onRestart()是当MainActivity从onStop()重新回到当前Activity(UI最顶层)时调用 onDestory() 当MainActivity退出时调用(点击Back键)...当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台 系统会先调用onPause方法,然后调用onStop方法,进入停滞状态 用户后退回到此Activity 系统会先调用...用户退出当前Activity 系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。...onPause() onStop() 当这个fragment被销毁了(或者持有它的activity被销毁了): onPause() onStop() onDestroyView()...onCreate() onCreateView() onActivityCreated() 其他场景的调用 屏幕灭掉 onPause() onSaveInstanceState() onStop

1.3K30
领券