【问题标题】:Determine Reason for Android Pause确定 Android 暂停的原因
【发布时间】:2011-10-07 19:10:16
【问题描述】:

当我什至没有触摸屏幕时,我的应用程序会随机暂停(进入 onPause 方法)然后恢复(进入 onResume 方法)。在 logcat 中,没有迹象表明导致暂停和恢复的原因。这只发生在 Galaxy Tab 7" 而不是摩托罗拉 Xoom 或 HTC Legend。

如何确定暂停的原因?

【问题讨论】:

  • “暂停”是什么意思?是 onPause() 被调用还是应用程序锁定并恢复?
  • onPause 正在被调用。
  • 如果屏幕关闭,将调用 onPause。如果屏幕没有关闭并且只是随机发生,我不知道为什么。
  • 好吧,我正在开发一个 OpenGL 应用程序,所以在 onPause 时,它​​会丢失 OpenGL 上下文,在 onResume 时我会从文件中重新加载纹理。问题是它随机暂停和恢复导致屏幕必须重新加载纹理,这是不可取的。
  • 我也有同样的问题。 onPause 在启动活动 5 秒后触发,几毫秒后,再次调用 onResume。我现在开始监控时间戳

标签: android onresume onpause


【解决方案1】:

你说它只发生在 Galaxy Tab 上。我假设设备上运行的另一个应用程序经常添加不可见的覆盖。如果此叠加层位于前台,它将触发您应用中的onPause()

您可以通过 ActivityMonitor 使用 Android Instrumentation 来监控 Activity 的启动。我相信您甚至可以使用它来阻止某些 Activity 启动。

【讨论】:

  • 那将是一个非常恶意的应用程序,不是吗?这款平板是开发设备,只在工作中使用,不会经常安装随机应用。
  • 实际上你可能正在做某事。在 logcat 中,在我最后记录的行和 onPause 之间,会发生这种情况:I/ActivityManager( 2492): Starting activity: Intent { flg=0x10000000 cmp=com.google.android.apps.maps/com.google.googlenav.login.AndroidLoginActivitySdk5 (has extras) } 这是什么?
  • 我刚刚编辑了我的答案。我自己从来没有使用过 Instrumentation,所以..对不起,我帮不上忙。
  • 看起来它可能试图以一种奇怪的方式获取位置信息?
  • 感谢您的帮助。重新启动设备工作。我认为它正在尝试获取位置,并且可能正在尝试显示错误窗口,但错误窗口出错并且没有显示,因为“不可见”导致我的 Activity 暂停并恢复分裂。
猜你喜欢
  • 2015-03-15
  • 1970-01-01
  • 2021-11-05
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2016-02-14
  • 2011-06-18
  • 1970-01-01
相关资源
最近更新 更多