2013-01-03 50 views
0

我有一個頁面查看器有四個頁面,每個頁面都有一個listView。一切都很好,但是當我滾動列表時,它啓動了千次GC_EXTERNAL_ALLOC,並激發了我的應用程序的性能。所以我通過跟蹤Romain Guy's documentation來跟蹤DDMS的分配情況,並且看到這是因爲將圖像加載到列表項目。在ListView中繪製會導致內存分配太多?

我保存圖像,然後檢查是否有像以前保存的,如果有,我用的圖片:

img.setImageDrawable(Drawable.createFromPath(imagePath)); 

,當我得到分配的軌道,它讓我發現,這條生產線分配大量內存而滾動...我只是想知道爲什麼?如果有任何有意義的方式來加載圖片來暗示我?

任何幫助,將不勝感激。

+0

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html嘗試這一個,它可能對您有所幫助.... – DynamicMind

+0

從資產或從SDCard載入圖像? –

+0

我加載他們從SDCard – yahya

回答

1

我認爲你需要在列表視圖中顯示一些「N」個圖像,並且這些圖像是通過互聯網獲得的。

參見:Fedors Lazy Loading

+0

我想Fedors LazyList的例子很容易,並且具有情感表演。謝謝。我會給它一個鏡頭。但我仍然想知道爲什麼從drawable得到這麼多的內存分配.. – yahya

相關問題