Много imageview и outofmemory. Как пофиксить?

Интерфейс, диалоги, темы, стили, меню
Ответить
Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Много imageview и outofmemory. Как пофиксить?

Сообщение Sasha2dx » 22 май 2015, 13:02

Пытаюсь написать что то типа энциклопедии на узконаправленную тематику. В её статьях наибольшую информационную ценность несут картинки, и их много...
Попробовал создать активити в нём: linearlayout c scrollview в котором лежат много ImageView, когда картинок добавляю больше 8 (возможно больше 3х мб) - приложение вылетает из за нехватки памяти.

Как можно попроще справится с этой ситуацией?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение Foenix » 22 май 2015, 13:07

Без кода ничего не жди
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение Sasha2dx » 22 май 2015, 13:21

Foenix писал(а):Без кода ничего не жди
В коде ничего нет, всё статично, там только лейаут присваевается к активити.
В коде лейаута примерно такое:

Код: Выделить всё

<linearlayout>
    <scrollview>
        <linearlayout>
            <imageview1>
            <imageview2>
                 ...
            <imageview10>
        </linearlayout>
    </scrollview>
</linearlayout>
На экране в один момент умещается не более 4 изображений (~800кб) позже там ещё будут текстовые коментарии, так что это число возможно станет ещё меньше.


Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение Sasha2dx » 26 май 2015, 22:52

Дайте совет более подробный, надо простой статичный длинный экран на котором можно проскроллить 60-80 картинок и текстовые коментарии... Я так понял придётся сделать кастомный imageView, есть может у кого то статья с примером? Или это всё можно реализовать как то проще?

...
Я ещё подумал сделать отдельный html файл с контентом, картинками и текстом и всунуть потом в вебвью, но нормальная ли подобная практика? :mrgreen:

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение rezak90 » 27 май 2015, 00:10

1) Ошибка №1 используется ScrollView, а нужно ListView (обьяснения думаю не надо);
2) Загрузку картинок делать загрузчиком, их на сегодняшний день куча: Picasso, Glide, etc
R.id.team
Политика на форуме запрещена

Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение Sasha2dx » 27 май 2015, 22:31

rezak90 писал(а):1) Ошибка №1 используется ScrollView, а нужно ListView (обьяснения думаю не надо);
Переспрошу на всякий случай: это надо для того что бы определять какие элементы вне видимой части экрана и удалять их из памяти?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Много imageview и outofmemory. Как пофиксить?

Сообщение rezak90 » 28 май 2015, 11:09

Sasha2dx писал(а):
rezak90 писал(а):1) Ошибка №1 используется ScrollView, а нужно ListView (обьяснения думаю не надо);
Переспрошу на всякий случай: это надо для того что бы определять какие элементы вне видимой части экрана и удалять их из памяти?
При использовании ScrollView все элементы грузятся в память и чем их больше тем больше сьедается памяти. А с ListView загружаются в память только те элементы что видны на экране, и дальше они переиспользуются при скролинге.
R.id.team
Политика на форуме запрещена

Ответить