【发布时间】: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