2012-11-10 56 views
-1

我正在創建一個包含160多幅圖像的應用程序,它們都在150到300KB之間。並在崩潰後測試應用程序後給我一個內存不足的錯誤。我已經閱讀了關於這方面的文章,但是當我實現bitmap.recycle()時,它給了我一個位於底下的紅線。在我的應用程序中獲取bitmap.recycle()的錯誤

繼承人我的代碼:

next.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View view) { 
      final ImageView imageView = (ImageView) findViewById(R.id.iM1); 
      imageView.setImageResource(R.drawable.sample); 
      bitmap.recycle(); 
      slider.animateClose(); 

     } 
    }); 

任何人都可以普萊舍幫助?

+0

可能的重複:http://stackoverflow.com/questions/477572/android-strange-out-of-memory-issue-while-loading-an-image-to-a-bitmap-object。 – Marcelo

回答

1

你必須有一個BitMap來調用bitmap.recycle()。 BitMap.recycle()刪除您在.recycle()之前寫入的位圖。 例如:

Bitmap someBit= new Bitmap (this); 
someBit.recycle(); 

根據上面的代碼,這是正確的answear。

+0

嗨馬加卡恩。謝謝你,但我現在似乎得到一個錯誤inder新的位圖(這); – Allrounder

+0

我不認爲你理解我的回答。如果您回收您新生成的BitMap,它將沒有任何區別。 someBit.recycle()只在這個BitMap是佔用內存的時候才起作用。 – Magakahn

+0

@凱蒂克你打算接受我的回答? bitmap.recycle()不會幫助你,除非位圖是導致outOfMemory執行的東西。 – Magakahn

相關問題