#flutter #dart
#флаттер #dart
Вопрос:
У меня есть приложение с двумя страницами. С одной страницы на другую я использовал MaterialPageRoute
для создания маршрутов
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProductList(),
),
);
На моей ProductList()
странице у меня фиксированная длина List
, поэтому я использовал ListView()
, на самом деле этот элемент списка довольно тяжелый. Я использовал ExpandbleList()
в этом списке, который я включил в product-details / images и т. Д. (Всякий раз, когда я составлял маршрут, весь этот список строился сразу), даже если они non-async
строятся, для их создания требуется довольно много времени ListView()
, что заставляет меня сталкиваться с неприятным падением кадров на маршруте. Я хочу избежать этого прерывания, добавив CircularProgressIndicator()
промежуточный переход на две страницы, возможно ли это сделать? или другие способы избежать этого прерывания? , пожалуйста, помогите мне.
Спасибо.
Комментарии:
1. Поскольку вы написали, что используете a
ListView
, который создает все сразу, я предлагаю вам использоватьListView.builder()
which гарантирует, что не все записи создаются одновременно, а только по требованию во время прокрутки2. Также я бы проверил реальное устройство с помощью flutter run —profile или даже —release. Если прерывание есть или нет, отладочная версия на эмуляторе может быть довольно сложной. Даже в документах говорится следующее : «Производительность приложения может быть неустойчивой в режиме отладки. Измерьте производительность в режиме профиля на реальном устройстве. »
3. @kounex У меня всего 3 элемента списка, этого недостаточно
ListView()