2014-02-16 162 views
0

我有5個圖圖像和我的模擬器堆內存的Android堆內存的問題是32MB,而 我調試的代碼,輸入位圖解碼語句之前,在 應用程序加載本身它正在29.02 MB ,所以我不能加載我的 圖像,請幫助我,爲什麼應用程序正在增加堆內存上 loading ...我應該減少這一點,所以只有我能夠訪問我的 圖像。上加載應用程序

02-16 14:41:49.557: I/dalvikvm-heap(2212): Grow heap (frag case) to 10.719MB for 8640016-byte allocation 

02-16 14:41:49.639: D/dalvikvm(2212): GC_FOR_ALLOC freed <1K, 2% free 10862K/11060K, paused 81ms, total 81ms 

02-16 14:41:49.709: D/dalvikvm(2212): GC_CONCURRENT freed <1K, 2% free 10862K/11060K, paused 4ms+6ms, total 70ms 

02-16 14:41:50.020: D/dalvikvm(2212): GC_FOR_ALLOC freed <1K, 2% free 10862K/11060K, paused 25ms, total 25ms 

02-16 14:41:50.400: I/dalvikvm-heap(2212): Grow heap (frag case) to 29.258MB for 19440016-byte allocation 

回答

1

在Android應用程序,你必須採取大小的位圖少在您的應用程序。您可以通過PhotoShop縮小尺寸。

+0

我已經調整圖像,,但 –

+0

可以粘貼之前要進行解碼,在負載本身,,應用採取堆內存29 MB,即同時通過超()方法構造...所有位圖的總位圖大小? –

0

你可以壓縮你的位圖採樣大小。欲瞭解更多關於如何做抽樣如果想知道我的答案here

+0

問題是不是,如果我也使用一個圖像,,而加載應用程序,應用程序佔用堆內存29 MB,即在構造函數中傳遞super()方法 –

+0

嘗試回收您的位圖。 – Rahul

+0

@rahulkapoor如果在函數中存在可繪製的返回位圖,那麼在函數返回後如何實際回收位圖。 – zIronManBox

0

您需要儘可能減少位圖圖像。 您可以使用

Bitmap newImage = Bitmap.createScaledBitmap(photo, width, height, true); 
+0

問題是不是,如果我也使用一個圖像,同時加載應用程序,應用程序佔用堆內存29 MB,即在構造函數中傳遞超()方法 –

+0

我得到了你。你需要檢查你的應用程序爲什麼要加載這些內存。什麼是啓動加載的數據? 你能分享你的活動和佈局嗎? –

+0

@TechBee您是否找到適合您的問題的解決方案? – zIronManBox

相關問題