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

Activity onStop,onDestroy延迟10s执行

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

1.9K70

MyApplication.getInstance().exit() 与onDestroy 、finish(),onKeyDown()的关系

这个时候如果直接调用MyApplication.getInstance().exit() 那么它会是这样执行的  会遍历所以加入的activity执行finish() 而finish执行的时候会执行一次ondestroy...,也就是必须触发这个指令 那么这个代码就是在ondestroy()中执行的, 如果你直接在onkeyDown  也就是通常看见的连接点击退出程序的时候直接调用MyApplication.getInstance...().exit() 就会出错了 当前的你调用的这个类中的ondestroy将不会被执行的 下面是onkeydown和ondestroy的执行顺序: 10-18 21:28:21.471: I/TAG(10652...): 我是onkeydown 10-18 21:28:23.640: I/TAG(10652): 我是onDestroy finish的执行顺序在他们之前 而我的程序是这样写的,在MainActivity...().exit(); super.onDestroy(); } 注意这个东西只存在于整个程序的主类中

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

Activity onDestroy() 回调缓慢问题分析及完美解决方案

说到Activity的onDestroy,对所有的Android开发者都很熟悉,但是不一定都知道里面存在着一些坑,分享给大家,以后踩中的时候可以应急 用Activity的时候,会发现如下问题:   ...有时候会发现Activity的onDestroy方法回调比较缓慢(可以达到好几秒钟之后才调用),即使之前使用finish方式关闭Activity也一样 onDestroy回调慢带来什么问题呢?   ...有可能再次打开Activity的时候,都走完了onCreate,onResume之后上一次的onDestroy方法才被调用,想想如果在onResume和 onDestroy中共同维护了一个变量(isActivityShowing...解决方法与建议   所以建议不要在Activity的onDestroy方法中做有关于数据存储,状态维护的事情,回收资源也最好不要完全依赖这个方法,可以用下面的方式 比较靠谱的解决方式 private...if (isFinishing()) { destroy(); } } @Override public void onDestroy

2.2K70

android onresume函数,Android界面跳转时候onDestroy和onResume的调用顺序

Android在界面跳转的时候,比如从Activity A 跳回 Activity B,并不是先执行A的onDestroy,而是执行完A的onPause之后就立即跳回Activity B里的onResume...在执行了Activity B 的onResume之后一两秒甚至更长一点的时间才执行Activity A里的onDestroy。 这样的处理机制应该是为了能够立即响应用户的操作。...假设在这个时候(Activity A的onDestroy还没被调用,但因为Activity B的onResume已运行完毕,所以可以跟Activity B交互)用户点击视频c,再次进入Activity...所以,对时间要求和Activity是否获取焦点密切相关的操作,不能放在onCreate和onDestroy里,而应该考虑放在onResume和onPause里。

1K10

Android 使用jQuery实现item点击显示或隐藏的特效的示例

将另存为的文本重命名为jquery.js,在HTML中通过以下代码将jQuery集成进来 <script src="jquery.<em>js</em>" </script 记得要根据集成的路径修改对应的引入路径 编写网页...-- 控制逻辑 -- <script src="jquery.<em>js</em>" </script <script type="text/javascript" $(document).ready(function...singleTask" android:process=":guide.process"/ 通过process属性指定新进程的名称,这里设置的是一个私有进程 界面退出时关闭进程 Activity退出时在onDestroy...中使用System.exit(0)关闭进程 @Override protected void onDestroy( ViewGroup view = (ViewGroup) getWindow().getDecorView...(); view.removeAllViews(); super.onDestroy(); System.exit(0); } 进程退出后,不管它是正常退出的还是异常退出的,操作系统都会去释放掉这个进程的资源

2.7K20

JS

10230

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券