 <p>First look at the exception<br> <em>java.lang.OutOfMemoryError: bitmap size exceeds VM budget</em><br> and most probably this is the line in your code <br> <em>at com.PACKAGE.MainActivity$MyListAdapter.getView(MainActivity.java:132)</em> (notice your package)</p> <p>You tried to load an image larger than your heap supported. The size in MB of the compressed file is of little importance, as any image will be expanded in memory as a bitmap. Thus only the pixel format and pixel count matters. In your case 2200x2048 might me to much.</p> <p>As possible solutions for the memory problem<br/></p> <ul> <li><strong>Use a lower resolution image, or manually load the image using BitmapFactory where you have the option to downsample</strong><br/></li> <li><strong>Use <em>android:largeHeap="true"</em> in manifest might help.</strong> Not good practice, if can be avoided.</li> </ul> <p>The ANR comes because you do a lot of work (loading large image) on the UI thread. Lower resolution image might help also to this problem, but you should consider loading the images in a worker thread<br> <a href="http://developer.android.com/guide/components/processes-and-threads.html" rel="nofollow">http://developer.android.com/guide/components/processes-and-threads.html</a>, <strong>Worker threads</strong></p>