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

Я понимаю, что мой вопрос похож на этот: Прокрутка iPad Safari приводит к тому, что элементы HTML исчезают и снова появляются с задержкой Однако принятый ответ не решает мою проблему, так как вызывает сбой моего приложения после некоторой прокрутки. Прокрутка также становится более медленной.

Я не знаю подробностей того, как работает рендеринг с помощью графического процессора, но я предполагаю, что каждая строка становится текстурой в графическом процессоре, и через некоторое время этого становится слишком много.

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

Благодарность!

0
SvenM 24 Фев 2014 в 19:23
Если кто-нибудь знает способ (немного) ограничить скорость прокрутки импульса, это, вероятно, очень поможет.
 – 
SwammiM
24 Фев 2014 в 20:06

2 ответа

Я бы рекомендовал использовать функцию ng-grid в AngularJS для длинных списков, которые нужно прокручивать в приложениях HTML. Другими предложениями были бы просто оптимизировать CSS и убедиться, что нет много теней, градиентов и т. Д., Которые занимают много вычислительной мощности при прокрутке.

Надеюсь, что это поможет, и если возникнут какие-либо вопросы, просто дайте мне знать!

0
Kai Feller 24 Фев 2014 в 20:17
Я попытался удалить все стили из своих предметов, и, хотя это немного улучшило проблему, она все еще существовала. Но я попробую ng-grid, спасибо!
 – 
SwammiM
24 Фев 2014 в 21:42
Не стоит беспокоиться! Если бы я помог, было бы здорово принять ответ :)
 – 
Kai Feller
24 Фев 2014 в 21:49
Конечно :) Но сначала нужно закончить еще кое-что. Вы случайно не знаете, хорошо ли работает этот компонент с webkit-overflow-scrolling: touch?
 – 
SwammiM
25 Фев 2014 в 01:28
Я только что загрузил ng-grid и протестировал демонстрацию workbench / index3.html на моем iphone (поскольку это был единственный телефон с относительно большим набором данных), и он был очень медленным, так что это не выглядело слишком многообещающим.
 – 
SwammiM
25 Фев 2014 в 14:28

Решает ли это вашу проблему?

overflow-y: auto;

Добавьте это в свой контейнер.

(Предположительно просто overflow: auto; тоже будет работать в зависимости от ваших потребностей.)

0
David Notik 30 Дек 2015 в 08:40