1

我有自定义 jni 本机播放器实现。事实上,安卓应用程序同时使用 2 个播放器来加速下一首曲目的准备。

我注意到 android 的android.media.MediaPlayer实现把所有东西都放回了 UI 线程,现在我试图理解原因、可能的好处以及以同样的方式做这件事是否有意义。目前,来自每个 jni 播放器的所有播放器事件/回调都返回到运行该本地播放器的 java 线程。

请分享你的想法。谢谢。

4

1 回答 1

0

通过使用 UI 线程,完全定义了回调在哪个线程中被调用。它简化了使用 UI 线程的其他任务的排序。正如评论中提到的,如果它不在 UI 线程中,它将是一个随机线程,或者它需要一个执行程序,使其更加复杂。

如果您使用自己的线程而不是 UI 线程,那么对于那些需要 UI 线程的方法,用户必须进行大量同步并将消息发布到 UI 线程;由于已经在 UI 线程上,在最坏的情况下,如果回调太长,您将看到性能下降。

于 2013-07-30T17:23:12.113 回答