Утечка памяти Android ViewPager

Мне нужно создать ViewPager в Android с 5 слайдами, каждый из которых состоит из изображения и текста. У меня есть массив с ресурсами для изображений:

  private static final int[] images = {R.drawable.tutorial_step_01, R.drawable.tutorial_step_02, R.drawable.tutorial_step_03, R.drawable.tutorial_step_04, R.drawable.tutorial_step_05, R.drawable.tutorial_step_06};

затем я создаю адаптер:

@Override
    public Object instantiateItem(ViewGroup container, int position) {

        LinearLayout tv = (LinearLayout) inflater.inflate(R.layout.tut_slide, null);
        TextView title = (TextView) tv.findViewById(R.id.tut_title);
        title.setText(getResources().getText(titles[position]));
        TextView content = (TextView) tv.findViewById(R.id.tut_content);
        ImageView image = (ImageView) tv.findViewById(R.id.tut_image);

        slide_image = BitmapFactory.decodeResource(getResources(), images[position]);
        image.setImageBitmap(slide_image);
        content.setText(getResources().getText(contents[position]));
        ((ViewPager) container).addView(tv, 0);
        return tv;
    }



    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager) container).removeView((LinearLayout) object);

//
}

проблема в том, что Android не хочет собирать изображение после того, как я выберу другую страницу. Итак, после 10 -15 изменений он выходит с исключением OutOfMemory. Затем я добавил к строкам initializung

if (slide_image!= null) {
            slide_image.recycle();
            System.gc();
        }

И это хорошо! Но кроме одного :у меня вместо первого изображения черный экран, который после нескольких перелистываний сменяется реальным. Так что я не знаю, что делать с такой утечкой памяти

5
задан Artem Caritas 17 July 2012 в 15:40
поделиться