Out Of memory error using Universal Image Loader and images getting refreshed

前端 未结 3 1761
滥情空心
滥情空心 2020-12-18 10:20

I am using the universal image loader to display the images as thumbnail in ListView however i am getting the out of memory error and when i scroll the list than the new vie

3条回答
  •  清酒与你
    2020-12-18 10:37

    make sure you make Image size as require in Your ImageLoader

    // decodes image and scales it to reduce memory consumption
        private Bitmap decodeFile(File f) {
            try {
                // decode image size
                BitmapFactory.Options o = new BitmapFactory.Options();
                o.inJustDecodeBounds = true;
                BitmapFactory.decodeStream(new FileInputStream(f), null, o);
    
                // Find the correct scale value. It should be the power of 2.
                final int REQUIRED_SIZE = 70;
                int width_tmp = o.outWidth, height_tmp = o.outHeight;
                int scale = 1;
                while (true) {
                    if (width_tmp / 2 < REQUIRED_SIZE
                            || height_tmp / 2 < REQUIRED_SIZE)
                        break;
                    width_tmp /= 2;
                    height_tmp /= 2;
                    scale *= 2;
                }
    
                // decode with inSampleSize
                BitmapFactory.Options o2 = new BitmapFactory.Options();
                o2.inSampleSize = scale;
                return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
            } catch (FileNotFoundException e) {
            }
            return null;
        }
    

提交回复
热议问题