Merhabalar. Uygulamamın içine bir resiö uygulaması koyuyorum. Aşağıdaki kod bloğunda OutOfMemory hatası alıyorum. Sebebini bir türlü anlayamadım. konuyla ilgili kaynak bulamadım bir türlü. BU hata nedir ve çözümü nedir bilen var mı acaba ?

try { final String photo_path = crud.get_photo_path(String.valueOf(position)); if(!photo_path.equals("")) { foto_image.setScaleType(ImageView.ScaleType.FIT_CENTER); foto_image.setBackgroundColor(getResources().getColor(R.color.blue_background));

                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                bitmap = BitmapFactory.decodeFile(photo_path);
                                bitmap = Bitmap.createScaledBitmap(bitmap,640, 720, true);
                                getActivity().runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        foto_image.setImageBitmap(bitmap);
                                    }
                                });
                            }
                            catch (Exception e) {
                                Picasso.with(getActivity()).load(new File(photo_path)).centerCrop().resize(640,720).into(foto_image);
                            }

                        }
                    }).start();
            }
        }
        catch (Exception e) {
            Toast.makeText(getActivity(),"Resim Yüklenme Hatası! Uygulamadan çıkıp tekrar deneyiniz.",Toast.LENGTH_LONG).show();
        }

soruldu: 03 Ara '13, 08:10

olkunmustafa's gravatar image

olkunmustafa
582222934
cevap kabul oranı: 26%


Slm,

OutOfMemory adı üstünde bellek aşımı durumlarında geçerli. Burda setImageBitmap kullanımı uygunsuz görünüyor. Bildiğim kadarıyla setImageBitmap i thread içinde yazamıyorduk. Bu olayı threadsiz yapabilir misiniz?

İyi çalışmalar,

permanent link

cevaplandı: 04 Ara '13, 00:54

yahyacan55's gravatar image

yahyacan55
645313
cevap kabul oranı: 21%

muhtemelen bitmap = BitmapFactory.decodeFile(photo_path); kodu işletilirken hata alıyorsunuz path de belirtilen dosyanın boyutunun yüksek olması sebebiyle, çözüm buffer'layarak okuyun kaynak dosyayı.

permanent link

cevaplandı: 04 Ara '13, 00:58

gturedi's gravatar image

gturedi
2.8k41538
cevap kabul oranı: 26%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×817

Soruldu: 03 Ara '13, 08:10

Görüntüleme: 715 kez

Son güncelleme: 04 Ara '13, 00:58

powered by BitNami OSQA