I've read a lot of previous messages on this topic but couldn't find
universal agreement on the whole.

I can't reproduce this in house, but a customer got an
OutOfMemoryError when using an icon chooser dialog.

This dialog is much like the Grid1 example - only it's in a dialog.

The bitmap memory seems to run out after running the dialog a few
times for a customer, resulting in
 java.lang.OutOfMemoryError: bitmap size exceeds VM budget


        public View getView(int pos, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {
            imageView = new ImageView(mContext);
            //imageView.setLayoutParams(new GridView.LayoutParams(40,
40));

            imageView.setAdjustViewBounds(false);
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(4, 4, 4, 4);
        } else {

            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(idlist.get(pos).value);
        imageView.setTag(idlist.get(pos).key);
        return imageView;
        }

Should I try to call recycle on the bitmap from an ImageView when I
reuse the view? Or would the ImageView do that anyway?

But even if I do that, that's only a small portion of the bitmaps
because most of them are seen without scrolling. The Adapter and the
GridView are both local variables and therefore shouldn't be
referenced after the dialog is dismissed.

I do believe that it should be possible to use many bitmaps in an app
- Google Maps does it, Picture Gallery does it. But maybe I need to
learn more rules. Some say you should call bitmap.recycle, some say
you shouldn't have to. Many say calling gc.collect will make it worse,
etc.

Nathan

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to