``我想在相机的预览中使用RGB。我使用JNI进行YUV到RGB的转换。我更改了RGB中的数据,然后我使用drawBitmap在预览中显示RGB。但是它显示很慢,我怎么能改进它
    public void onPreviewFrame(final byte[] data, Camera camera) {
    Thread showPic = new Thread(new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            Canvas c = mHolder.lockCanvas(null);
            try {
                synchronized (mHolder) {
                    // TODO Auto-generated method stub
                    int imageWidth = mCamera.getParameters()
                            .getPreviewSize().width;
                    int imageHeight = mCamera.getParameters()
                            .getPreviewSize().height;
                    int RGBData[] = new int[imageWidth * imageHeight];
                    int RGBDataa[] = new int[imageWidth * imageHeight];
                    int RGBDatab[] = new int[imageWidth * imageHeight];
                    int center = imageWidth * imageHeight / 2;
                    Jni.decodeYUV420SP(RGBData, data, imageWidth,
                            imageHeight); // decode
                    for (int i = 0; i < center; i++)
                        RGBDataa[i] = RGBData[i];
                    for (int i = center; i < imageWidth * imageHeight; i++)
                        RGBDatab[i - center] = RGBData[i];
                    for (int i = 0; i < center; i++)
                        RGBData[i] = RGBDatab[i];
                    for (int i = center; i < imageWidth * imageHeight; i++)
                        RGBData[i] = RGBDataa[i - center];
                    c.drawBitmap(RGBData, 0, imageWidth, 0, 0, imageWidth,
                            imageHeight, false, new Paint());
                    // Bitmap bm = Bitmap.createBitmap(RGBData, imageWidth,
                    // imageHeight, Config.ARGB_8888);
                }
            } finally {
                if (data != null)
                    mHolder.unlockCanvasAndPost(c);
            }
        }
    });
    showPic.run();
}
以下代码是Jni
    public class Jni {
public native static void decodeYUV420SP(int[] rgb, byte[] yuv420sp, int width,
        int height);
方法decodeYUV420SP由C完成。