Ионные 2 проблемы с прокруткой

Довольно впечатленный блогами и отзывами о ionic2 и Angular2, я начал писать приложение в ionic 2 и обнаружил, что производительность прокрутки ionic2 не подходит для большого количества записей как для iOS, так и для Android.

  1. У меня есть большой список элементов между изображениями в большинстве элементов списка
  2. Производительность прокрутки хороша для 10-20 предметов, но очень медленная, когда дело доходит до 30 предметов
  3. После многократного поиска найденный виртуальный прокрутка в ионном и используется, тогда производительность немного улучшилась на 50 пунктов, но снова замедляется после 65+ пунктов

Я попробовал WKWebview в iOS, немного улучшил производительность, но часто экран становится черным для больших списков, поэтому я бросаю эту идею. Я не хочу использовать переходы из-за увеличения размера приложения, поэтому никогда не пробовал.

Может ли кто-нибудь помочь предложить какое-либо обходное решение, чтобы исправить эту проблему или какое-либо чистое решение для javascript для отображения больших списков без каких-либо проблем? Для Android и ios.

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

Попробуйте использовать Virtual Scroll of Ionic2

Виртуальная прокрутка решает эту проблему. В Ionic 1 это называлось Collection Repeat, в Ionic 2 оно называется Virtual Scroll, но это концепция, которая широко используется в разработке мобильных HTML5. Основная идея заключается в том, что мы только создаем достаточно элементов в DOM для отображения данных списка, которые в настоящее время находятся на экране, и мы перерабатываем эти элементы DOM для отображения новых данных при прокрутке экрана.

Дополнительная информация: Ionic Framework – Virtual Scroll

Производительность прокрутки является распространенной проблемой в большинстве инфраструктур javascript.

Это происходит из-за событий touch и wheel. Но вы можете передать {passive: true} прослушиватель событий, чтобы включить некоторые оптимизации. Делая это, вы говорите, что ваш обработчик никогда не будет использовать preventDefault (), чтобы отключить прокрутку.

addEventListener(document, "touchstart", function(e) { },{passive: true}); 

Он еще не реализован во всех браузерах, но, надеюсь, когда это будет, все основные js-фреймворки будут применять эту технику.

Intereting Posts
Не удается разрешить символ: «HttpClient», даже после добавления зависимости Применение маски к одному оверлейному представлению без маскировки всей активности Настройка панели действий Android Темы Android – определение цветов в пользовательских тем Не найден ресурс, который соответствует указанному имени в layout_hint Добавить проект в библиотеку в Android Studio В отчетах Android Studio lint «невозможно определить типы аргументов». Поиск трассировки стека в Eclipse с Android Передача нескольких параметров через Firebase Динамические ссылки Android Какие методы жизненного цикла активности лучше всего регистрировать / отменять регистрацию на шину событий? Изменение размера прямоугольника в Android Android: включение нескольких пакетов Java для манифеста Отображение активности (диалог темы) отображается над номером Dialer в lockscreen? Когда отменить подписку на подписку Объясните различные типы навигации, Android