2013-04-23 5 views
-2

Я пытаюсь создать собственное представление, которое может отображать большой объем данных, подобно тому, как UITableView способен отображать множество строк данных. Сейчас я показываю данные в UIScrollView, но после перезагрузки данных несколько раз мое приложение начинает получать предупреждения о памяти.Как загрузить большой объем данных в UITableview без предупреждений памяти?

Каков правильный способ создания пользовательского представления для отображения большого объема данных и как я могу избежать этих предупреждений памяти?

+0

Основные данные были бы хорошим началом. –

+0

Ну, мой психический не отвечает на его телефон, чтобы рассказать мне больше о вашей проблеме ... повесить там, я отвечу, как только я доберусь до него;) – Tobi

+0

Я получаю данные с веб-сервера. я просто хочу понять механизм UITableView – user2311383

ответ

2

Это не так. UITableView загружает только столько строк, сколько может поместиться на экране. Когда ему нужно больше строк, он запрашивает источник данных для них. Это дает представление о том, что таблица содержит все данные без всех накладных расходов при копировании всего сразу.

+0

Да, но мой вопрос в том, как он работает внутри? и как UITableView обрабатывает большой объем данных? – user2311383

+1

@ user2311383 Вы спросили, как он обрабатывает большие объемы данных. Ответ опять же заключается в том, что он не обрабатывает большие объемы данных. Когда ячейки больше не видны (т. Е. Прокручиваются с экрана), они перерабатываются, поэтому таблице не требуется больше нескольких десятков ячеек. – Caleb

+0

Да, я показываю фид в UIScrollView, который отлично работает, но после загрузки так много приложений для кормления мне дает память. Червь – user2311383

0

Когда ваша ячейка tableView слишком тяжелая, у нее есть imageView и более чем одна текстовая метка лучше создать пользовательскую ячейку путем подкласса UITableView.

Убедитесь, что в пользовательской ячейке subview следует добавлять только один раз и повторно использовать для ячеек. Просто вам нужно отправить изображение изображения или текст метки. Даже если у вас так много ячеек в таблице, производительность будет хорошей.

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

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

http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial

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