2013-10-06 50 views
1

我正在做一个视频流项目。我有两种选择:Android视频流:AsyncTask或UI线程?

  1. 在AsyncTask中执行myVidoeURI.Prepare()方法并播放流视频。
  2. 执行myVideoURI.PrepareAsync()方法,然后在UI线程中播放影片。

你的决定是什么?请支持您的选择。

+0

转到1.在ui线程中执行网络任务。 –

+0

@abid:也许我不清楚选项1,我的意思是在AsyncTask中做prepare()。 – Behnam

回答

0

为MediaStream的方法prepareAsync()的文档说:

准备的播放器进行播放,异步。设置数据源和显示界面后,您需要调用prepare()或prepareAsync()。对于流,你应该调用prepareAsync(),它会立即返回,而不是阻塞,直到有足够的数据被缓冲。

我建议去代替主/ UI线程与选项应该在后台线程中执行1

2

网络运行。

选项1对选项2没有任何好处。即使使用选项1,视频播放也只需在UI线程上完成。使用prepareAsync将使您无需处理AsyncTask的生命周期。

转到选项2.