使用大型Drawable在屏幕旋转时出现内存不足错误

时间:2011-11-01 05:20:51

标签: android image memory memory-leaks webview

我在理解Android的内存问题时遇到了一些困难。问题是当我旋转屏幕两次时,在分配包含大图像的WebView时出现OutOfMemory错误。我的图像甚至不是那么大的936 * 682 24位PNG,50.5 KB。

这是我的活动:

public class IndoorMapActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.indoor_map);    
    }

}

在我的布局中,我基本上只有一个自定义的ImageWebView。

这是自定义的ImageWebView构造函数:

public ImageWebView(Context context, AttributeSet attrs) {
    super(context, attrs);

    mContext = context;

    this.loadUrl("file:///android_res/drawable/ground.png");
    this.getSettings().setBuiltInZoomControls(true);
    this.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);

}

1 个答案:

答案 0 :(得分:1)

显然,这是Android中的一个已知错误。您可以找到详细信息here。此问题已在Android 2.2中修复。