2011-06-13 13 views
5

için ayarlamak 1MB görüntü dosyası indirmeye çalışıyorum ve bir görüntü görüntüyü doldurmak için bitmap'e kaydediyorum. ancak hata ben büyük bir resim indirebilirsiniz Nasılandroid bir 1mb görüntü dosyasını indirmek ve ImageView

06-13 13:39:48.149: ERROR/AndroidRuntime(1782): 
java.lang.OutOfMemoryError: bitmap size exceeds VM budget 

gösterir?

+0

Yinelenen: http://stackoverflow.com/questions/1949066/java- lang-outofmemoryerror-bitmap boyutundan büyüktür-vm-bütçe-android – razlebe

cevap

3

Aynı sorundan geçmiştim. İndirilen bitmap'i ImageView'a ayarlamadan önce, bitmap'inizi ImageView'unuzun genişliğine ve yüksekliğine göre sıkıştırmanız gerekir. Böyle bir ölçekli bitmap oluşturmak zorunda

böyle

bm1=Bitmap.createScaledBitmap(bm, 300, 300,true); 
imgView.setImageBitmap(bm1); 

veya sıkıştır eşlem,

  OutputStream fOut = null; 
         File file = new File(strDirectoy,imgname); 
          fOut = new FileOutputStream(file); 

         bm1.compress(Bitmap.CompressFormat.JPEG, 85, fOut); 
          fOut.flush(); 
          fOut.close(); 

       MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName()); 
+0

bm1 = Bitmap.createScaledBitmap (bm, 300, 300, true); imgView.setImageBitmap (bm1); bazen çalışıyor ve bazen çalışmıyor. Bana nedenini söyleyebilir misin? – Jyosna

+0

Verdiğim bir sonraki yöntemi denemiyorsanız. Bu, resminizi sıkıştırır ve saklar. Bundan sonra uri kullanarak görüntü görüntüsü için görüntü oluşturmaya çalışın. –

İlgili konular