0

ビデオを表示するために、JNI からビットマップを表示するために Surface を使用しています。これは私のコードです。

       SurfaceHolder holder = surfaceView.getHolder();
       while(true) {
            if(getBitmap() == null) {
                continue;
            }
            Canvas canvas = holder.lockCanvas();
            canvas.drawBitmap(getBitmap(), matrix, null);
            if(viewInterface == null) {
                break;
            }
            holder.unlockCanvasAndPost(canvas);
            setBitmap(null);
        }

それぞれの方法で費やされた時間を計算しに行きました。

//longest time consuming 71ms
holder.lockCanvas(); 

//longest time consuming 50ms
canvas.drawBitmap(getBitmap(), matrix, null);

//longest time consuming 111ms
holder.unlockCanvasAndPost(canvas);

どこに問題があるのか​​わからない、久しぶりにdrawBitmapするとどうなるか

4

0 に答える 0