本篇主要记录一些Activity相关的问题,以及以一些Fragment相关问题。
Activity 相关问题
1. 为什么 Activity.finish() 之后 10s 才 onDestroy ?
问题描述: 在 A Activity 启动 B Activity,并结束 A 页面,B 页面在启动时进行大量的动画场景,源源不断的向主线程消息队列发送消息。A Activity 的 onPause 正常执行,但是 onStop 与 onDestory 都延迟了 10s 才执行。为什么会出现这样的情况?
是谁指挥着 onStop/onDestroy 的调用?文章来源:https://www.toymoban.com/news/detail-707336.html
-
Activity 的 onStop/onDestroy 是依赖 IdleHandler 来回调的,正常情况下当主线程空闲时会调用。但是由于新页面Activity持续向主线程消息队列发送消息,导致主线程迟迟无法空闲,onStop/onDestroy 也会迟迟得不到调用。但这并不意味着 Activity 永远得不到回收,系统提供了一个兜底机制,当 onResume 回调 10s 之后,如果仍然没有得到调用,会主动触发。(系统会发送一个10s的延迟消息, 如果 10s 内主线程执行了 Idler 的话,就会移除这个消息文章来源地址https://www.toymoban.com/news/detail-707336.html
到了这里,关于【Android知识笔记】UI体系(六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!