Самый быстрый способ визуализации ячейки табличного представления? - PullRequest
0 голосов
/ 11 августа 2010

Я разрабатываю приложение, которое требует от меня отображения множества коротких строк текста в ячейках таблицы. В настоящее время я использую ячейку табличного представления по умолчанию с добавлением около 14 UILabels. Половина этих меток содержит статический текст, который не будет изменен, а другая половина содержит динамические данные, которые должны обновляться при прокрутке таблицы.

Поскольку мои клиенты жалуются, что таблица запаздывает, мне интересно, есть ли более оптимизированный способ отображения данных и повышения производительности прокрутки. Например, будут ли ячейки таблицы отображаться быстрее при прокрутке таблицы, если фиксированный текст отображается непосредственно в представлении, а не содержится в UILabels? Какие еще методы можно использовать для повышения производительности прокрутки?

Ответы [ 2 ]

1 голос
/ 11 августа 2010

Проблемы с производительностью при прокрутке табличного представления могут быть вызваны любым количеством проблем.Например:

  • Убедитесь, что UILabel непрозрачны, чтобы избежать смешивания.(Вы можете выбрать опцию цветовых смешанных слоев в инструменте Core Animation для проверки этого).
  • Убедитесь, что вы перерабатываете ячейки табличного представления, используя dequeueReusableCellWithIdentifier:

было бы полезно, если бы вы могли опубликовать вашу реализацию tableView:cellForRowAtIndexPath:

0 голосов
/ 11 августа 2010

в дополнение к ответу Аншучималы я бы порекомендовал вам удалить статические метки и интегрировать их в UIImageVie, который вы используете в своей табличной ячейке в качестве фонового изображения. Помимо этой непрозрачности (как упомянуто anshuchimala) это большой блокатор производительности, но также широкое использование NSDateFormatter экземпляров может значительно снизить вашу производительность (особенно экземплярам NSDateFormatter требуется много энергии)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...