我在理解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);
}