unweight UI线程的策略(Camera.PreviewCallback)

时间:2013-10-16 10:03:45

标签: android multithreading performance android-camera

我正在寻求帮助。我把服务粘合在一起:

Intent i = new Intent(MainActivity.this, X.class);
MainActivity.this.bindService(i, mConnection, Context.BIND_AUTO_CREATE);

此服务旨在将Camera.PreviewCallback(YCbCr_420_SP(NV21))中的数据解码为RGB。对于unweight CPU,我限制了帧速率和相机分辨率。 (没有实时预览)。

我遇到的问题是重载UI线程,导致在MainActivity(动画,电影)上显示内容变慢。所有昂贵的操作都在服务中执行(解码,读取条形码)。

我该如何解决这个问题?我想,我必须创建一些线程,但如何将他与Camera.PrviewCallback连接?

谢谢,请指教。

1 个答案:

答案 0 :(得分:1)

我最近解释了如何修改Activity以使onPreviewCallback()脱离UI线程:Best use of HandlerThread over other similar classes。相同的方法可以应用于服务。