我有在我需要绘制两个位图自定义视图,一个是背景,代表了地图的形象,一个是将在画布上/左侧位置绘制的引脚.
这两个图像都是在绘图上绘制的,并且在包含视图的活动的实时期间保持不变.过了一会儿,我得到了一个
OutOfMemoryError:位图大小超过VM预算
这意味着我有泄漏,位图不会被垃圾收集.我之前问过这个问题,但现在情况发生了一些变化.我做了一个init方法,我设置了我想要使用的位图,但这仍然不是一个好方法,错误出现在后面,但仍然存在.
这是代码
public class MyMapView extends View {
private int xPos = 0;
private int yPos = 0;
private int space = 0;
private Bitmap resizedBitmap;
private Bitmap position;
private Bitmap mapBitmap;
public void setMapBitmap(Bitmap value) {
this.mapBitmap = value;
}
public MyMapView(Context context) {
super(context);
}
public MyMapView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void init(final Context context) {
Paint paint = …Run Code Online (Sandbox Code Playgroud)