为什么setLixel在android lollipop中比在android KitKat

时间:2015-12-15 02:37:43

标签: java android bitmap

我想将应用程序从android kitkat移植到lollipop,我发现在棒棒糖中setPixel会变慢。

app的功能只是从缓冲区中绘制Bitmap;但是,它在Android棒棒糖中需要大约15倍的时间。

如何改进我的代码? 感谢。

public Bitmap draw(byte[] buffer) {
    Bitmap pic = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);

    for (int i = 0; i < 150; i++) {
        for (int j = 0; j < 180; j++) {
            byte temp = (byte) (buffer[(i*180 + j)]);
            int color=0xff000000;
            color = color ^ temp << 24; 
            pic.setPixel(i+10, j+10, color);
        }   
    }
    return pic;
}

1 个答案:

答案 0 :(得分:2)

如果您要设置多个像素,则应始终使用setPixels(),而不是单独调用setPixel()