android - 活动生命周期回调没有完成执行?
问题描述
活动生命周期回调是否有可能在执行其所有代码之前被中断?回调可以中断另一个吗?
https://developer.android.com/guide/components/activities/activity-lifecycle
在本文档中,它建议不要在 onPause 中执行繁重的工作,例如,因为它具有“非常简短的执行”,谁来控制它?如何?即使 onPause 尚未完成执行,系统是否会调用下一个生命周期回调?
解决方案
这些调用将主要影响 UI(以及 onCreate、onCreateView),如果它们需要很长时间来完成他们的代码,用户肯定会知道它。
假设你的 onResume() 方法中有这个
OnResume(){ super.onResume; updateView(); }
一些标准的东西,这是在片段或活动“恢复”之前通常发生的事情。
如果你的 updateView(); 需要 2 秒才能完成,因为它正在加载数据或创建对象,即 UI 被“冻结”并且用户无法使用应用程序的 2 秒,或者可能误认为“已损坏”
如果您对 onPause() 有相同的理论场景,那么这也是应用程序中 2 秒的“冻结”时间
最好让“updateView()”(本质上是您的 onResume 和 onPause 方法)尽快完成,这样用户就不会注意到应用程序中的任何“滞后”。
推荐阅读
- php - 具有相同列值的行的总和
- python - 如何让 geopandas 地图出现在 wxpython 窗口中
- javascript - 如何从具有嵌套对象的对象中获取提到的预期输出
- android - 移动应用程序未使用适用于 android 设备的 java appium 代码打开
- flask - 无法将 dialogflow webhook 链接到 ngrok 隧道
- c# - 无法加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions”
- angular - 不安全的url发生在IOS下使用Local Video path时
- java - testcontainers, hikari 和 Failed to validate connection org.postgresql.jdbc.PgConnection
- python - 与 mongodb ReplicaSet 的连接太多?
- linux - 在 nawk 命令中使用读取变量