2012-05-04 4 views
1

У меня есть ViewPager на моем приложении Kindle Fire, которое добавляет примерно 30 просмотров на страницу Activity. Нет ссылок на растровые изображения после их добавления (vars теряются после закрытия локального блока операторов).андроид утилизация всех растровых изображений на вид на удаление удаления

Самый простой способ переработать все мои растровые изображения, когда их родительский вид удален? Мне нужно сделать это, потому что после прокрутки нескольких страниц мое приложение закрывается, потому что больше не выделяется память, потому что, по-видимому, непереработанные растровые изображения не освобождают память.

Мысли?

+0

использовать «destroyItem», чтобы удалить элемент из вашего «ViewPager». – Herry

+0

@Herry Я уже делаю это, но наблюдаю за распределениями, которые он швыряет, так как данные растрового изображения никогда не освобождаются. Я узнаю, что данные не будут выпущены, если вы не назовете переработку на своих изображениях. Звучит ли это правильно? – Jacksonkr

+0

есть использование Некоторый просмотр списка объектов для хранения изображений, таких как «Растровое изображение» или «Жесткий». Если изображение является большим, то вам нужно использовать утилиту. – Herry

ответ

5

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

@Override 
     public void destroyItem(ViewGroup container, int position, Object object) { 
      // TODO Auto-generated method stub 
      ((ViewPager)container).removeView((View)object); 
     } 

этот метод удалить страницу, которая не отображается на текущем экране и в этом методе

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

в этом методе загрузки изображения эффективно, для этого вы можете обратиться андроида сайт разработчика. displaying bitmaps

+0

Это не совсем то, что я искал, но должно быть что-то об удалении просмотров, которые заставляют растровые изображения автоматически перерабатываться. Может быть, потому что у меня есть 'inPurgeable = 2'? – Jacksonkr

+0

Была такая же проблема. Оказывается, я не удалял View из ViewGroup, но перерабатывал растровые изображения. –

 Смежные вопросы

  • Нет связанных вопросов^_^