内存处理位图,寻求优化

时间:2013-05-22 22:10:11

标签: android

我一直在将长图像加载到我的应用中时遇到问题,我经常因纹理太大而无法使用。所以我想我会尝试将图像分解成碎片并将它们放在一起制作完整的图像,问题是现在我遇到了内存不足的问题。这是我的下面的代码,任何关于我可以采取哪些不同的做法以使其更有效或减轻一些记忆力的想法?或者即使你有更好的方法?

public void tileImage(Bitmap bm){
    Bitmap tile;
    float tileWidth = bm.getWidth();
    float tileHeight =bm.getHeight()/5;

    if(bm.getWidth()<width){
        width=bm.getWidth();
    }

    for(int i = 0; i<5; i++){

        image = new ImageView(main);

        tile = Bitmap.createBitmap(
                 bm,
                 0, 
                 (int)(tileHeight*i),
                 (int)width,
                 (int)(tileHeight)
                 );
        image.setImageBitmap(tile);
        tiles.addView(image);
    }

}

0 个答案:

没有答案