1

我正在单击按钮旋转屏幕的背景图像。

Bitmap rotatedBitmap = null;
int curAngle = 0;

private Bitmap rotateImageBitmap(Bitmap org) {      

    if(rotatedBitmap != null  )
    {
        rotatedBitmap.recycle();
    }

    Matrix matrix = new Matrix();
    curAngle += 90;
    matrix.postRotate(curAngle);
    rotatedBitmap =  Bitmap.createBitmap(org, 0, 0,  org.getWidth(),  org.getHeight(), matrix, true);

    return rotatedBitmap;        
}

应用程序在第 5 次单击按钮时强制关闭。(图像旋转 4 次)
Logcat:尝试使用回收的位图。请帮我。

4

2 回答 2

0

这是来自开发人员指南....

  1. 移动设备通常具有受限的系统资源。Android 设备可以为单个应用程序提供低至 16MB 的内存。

  2. 位图占用大量内存,尤其是对于照片等丰富的图像。例如,Galaxy Nexus 上的相机可拍摄高达 2592x1936 像素(5 兆像素)的照片。如果使用的位图配置是 ARGB_8888(Android 2.3 以后的默认配置),则将此图像加载到内存中大约需要 19MB 内存(2592*1936*4 字节),立即耗尽某些设备上的每个应用程序的限制。

于 2012-06-24T09:37:00.390 回答
0

最大角度为 360,当您点击第 5 次时,您的代码设置角度 = 450,这是无效的。因此,当角度达到 360 度时,请尝试重置您的角度。

于 2012-06-15T09:26:38.020 回答