【问题标题】:Unable to Destroy Activity while Buffering Video on Pressing Back按下返回时缓冲视频时无法破坏活动
【发布时间】:2015-01-01 19:25:21
【问题描述】:

我编写了一个从主机服务器流式传输的视频播放器。有时缓冲需要很长时间。当用户按下返回时,Activity 的 onDestroy() 不会被调用{并且一段时间后会抛出 ANR。就好像系统试图破坏 UI 线程上的 Activity,因此导致 ANR。}

我不关心 ANR,我想知道为什么在 Buffering 进行时不调用 onDestroy 方法。

感谢和问候, 沙希基兰 G M

【问题讨论】:

  • onDestroy() 永远不能保证被调用。使用 onPause() 来做你想做的事。 onPause() 是一个误导性的名称。这实际上意味着活动的 UI 线程是 onPause,而不是应用程序本身。要返回,请使用 onResume(),再次误导名称是活动的 UI 线程正在返回。
  • 斯蒂芬怎么说。 onDestroy() 可能用于垃圾回收,java 在对象上有类似的东西。
  • @gmsk19 我也面临同样的问题,你能解决它吗?我正在考虑集成 vitamio 播放器,但 sdk 大小几乎是 4mb :(

标签: android video-streaming android-videoview onbackpressed


【解决方案1】:

我想知道为什么在缓冲时不调用 onDestroy 方法 正在进行中。

说实话,我不知道为什么。我所知道的是,每次都会调用的是onPauseonDestroy 有时会被调用,有时不会。因此,您的应用程序没有任何问题。

这就是我在大多数情况下将我的代码放在onPause 中的原因(除非我想在活动被破坏而不是暂停的情况下做某事)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多