Исключение нехватки памяти #, как я могу исправить исключение нехватки памяти при обработке следующего класса адаптера. Могу ли я решить эту проблему с помощью ленивого адаптера?

public class myAdapter extends ArrayAdapter<Image>{


    public myAdapter(){
        super(MainActivity.this, R.layout.image,Imagelist);

    }
    @SuppressLint("InflateParams")
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View v=convertView;ViewHolder h;
        if(v==null){

            v=getLayoutInflater().inflate(R.layout.image, null);
            ImageView img=(ImageView) v.findViewById(R.id.imageView1);
            img.getLayoutParams().height=500;
            img.getLayoutParams().width=500;

            TextView Title=(TextView)v. findViewById(R.id.textView2);
            TextView desc=(TextView) v.findViewById(R.id.textView1);
            h=new ViewHolder(img,Title,desc);
            v.setTag(h);
        }
         else {
                h =  (ViewHolder) v.getTag();
            }
        final Image image1=Imagelist.get(position);
        //ImageView imageview=(ImageView)v.findViewById(R.id.imageView1);
        h.img.setImageBitmap(image1.getB());



        //=(TextView) v.findViewById(R.id.textView1);
    h.title.setText(" "+image1.getT());
    h.desc.setText(image1.getDesc());
    //Imagelist.clear();

        h.img.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i=new Intent(Intent.ACTION_VIEW,Uri.parse(image1.getVideourl()));
                startActivity(i);
            }
        });

        return v;


    }


}
  class ViewHolder {
    public ImageView img;
    public TextView title;
    public ViewHolder(ImageView img, TextView title, TextView desc) {
        super();
        this.img = img;
        this.title = title;
        this.desc = desc;
    }

}
0
vinod kumar 20 Апр 2015 в 14:15
Дубликат question.search SO
 – 
Chiradeep
20 Апр 2015 в 14:16
 – 
Anirudh Sharma
20 Апр 2015 в 14:31
Да, я решил это, но для загрузки списка требуется больше времени, как я могу управлять этим #anirudh sharma
 – 
vinod kumar
20 Апр 2015 в 15:43

2 ответа

Вы можете использовать любую библиотеку загрузчика изображений для загрузки изображения вместо установки изображения из растрового изображения. В случае, если размер изображения настолько велик, вы можете использовать

андроид : largeHeap = " истина"

Дать больше памяти.

0
Samir Bhatt 20 Апр 2015 в 14:23
Добавьте это как комментарий, так как это не верный ответ
 – 
Anirudh Sharma
20 Апр 2015 в 14:30

По моему мнению, вы можете удалить эту ошибку, вызвав метод recycle, т.е. изображение1.переработать(); этот метод освободит память, занимаемую image1, как только вы вызовете этот метод. Также вы можете получить доступ к http://developer.android.com/training/displaying-bitmaps /index.html, чтобы узнать, как эффективно работать с растровыми изображениями. Надеюсь, поможет!!

0
Vipul Thakur 20 Апр 2015 в 14:39
Где мне нужно назвать эту переработку #vipal thakur
 – 
vinod kumar
20 Апр 2015 в 14:47
Как только вы установите растровое изображение на изображение,
 – 
Vipul Thakur
20 Апр 2015 в 14:55