1

我一直在将长图像加载到我的应用程序中时遇到问题,我经常变得太大而无法纹理。所以我想我会尝试将图像分解成碎片并将它们放在一起以形成完整的图像,问题是现在我遇到了内存不足的问题。下面是我的代码,关于我可以做些什么来提高效率或减轻一些记忆压力的任何想法?或者即使你有更好的方法?

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);
    }

}
4

0 回答 0