2016-03-21 2 views
0

У меня проблема с памятью при использовании uiscrollview в iOS.Лучшая практика UIScrollView

У меня есть прокрутка с огромным подзоном (4000x600). В этом подзапросе у меня есть другие UIImageViews в качестве подзонов.

Это тот случай:

Test

Когда я открыть Scrollview, я могу видеть, как память и процесс резко возрастает.

Что я хочу знать, чтобы исправить проблему: Лучше всего добавить все мои взгляды прямо в scrollview, не переходя на «средний» огромный вид?

Заранее спасибо.

ответ

5

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

Вместо того, чтобы изобретать колесо, используйте UICollectionView. Он предназначен для достижения именно того, что вам нужно. Затем каждый вид изображения будет ячейкой в ​​этом представлении коллекции. Представление коллекции управляет повторным использованием вида и удерживает в памяти только необходимые ячейки для отображения вокруг позиции прокрутки.

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/

+1

Единственное, что я хотел бы добавить, чтобы убедиться, что вы загружаете образы а-синхронно в отдельном потоке. – PeejWeej

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