我有模拟器绘制一个大的图像时崩溃的问题导致NullPointerException异常。在drawable上使用setBounds时,崩溃是由NullPointerException导致的(所以我的drawable由于某种原因而为null)。大型图像在模拟器
该问题仅出现在模拟器中,而不是如果我加载到我的设备(HTC Desire的)。
我的形象是1080x1658像素的JPG。如果我指定一个更小的图像,问题就会消失。
我的代码如下所示:
public class Map {
private Drawable mapImage;
public Map(Context context) {
mapImage = context.getResources().getDrawable(R.drawable.north);
}
public void render(Canvas canvas) {
mapImage.setBounds(0, 0, 1080, 1658);
mapImage.draw(canvas);
}
}
您好,我试图寻找在Eclipse中的DDMS角度堆的大小,但由于虚拟机崩溃的进程关闭之前,我可以看到堆的大小(当我用大图打开活动时)。然而,我有另一个应用程序共享代码库,但使用较小的图像(900x952),这个应用程序不会崩溃,从我可以告诉堆应用程序永远不会超过6,070 MB,所以我想我是在模拟器的默认24 MB? – mat 2012-03-06 07:39:15