我有模擬器繪製一個大的圖像時崩潰的問題導致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