Android Question Out Of Memory on ListView

Alberto Iglesias

Well-Known Member
Licensed User
The ListView Control with a large number of itens WITH bitmaps from photos, got OUT OF MEMORY error.

What´s the best (or correct) way to show a image list from a folder (I got this error after some photos loaded)



B4X:
lstFiles.AddTwoLinesAndBitmap2( "text1","text2", LoadBitmapSample(imageDir,imageFile,512,512),strFilePath)
Error in this line after some photos:

Downsampling image due to lack of memory: 4
Downsampling image due to lack of memory: 8
Downsampling image due to lack of memory: 16
Downsampling image due to lack of memory: 32
Downsampling image due to lack of memory: 64
java.lang.RuntimeException: Error loading bitmap (OutOfMemoryError)
 

eurojam

Well-Known Member
Licensed User
you can use a scrollview instead and only load the images which are visible in the scrollview (using the ScrollChanged Event) instead of loading all bitmaps at the start of your initialize routine
 

Erel

Administrator
Staff member
Licensed User
The issue is not related to the ListView. Large images require a lot of memory. You should either use smaller dimensions (note that you are missing the dip units) or a more sophisticated solution where only the visible images are loaded.

https://www.b4x.com/android/forum/posts/210230/

Check UlitmateListView. I'm pretty sure that it implements such a solution.
 
Top