Тяжелый код платформы порождает задержку пользовательского интерфейса - PullRequest
0 голосов
/ 04 февраля 2019

Я использую MethodChannel.invoke для вызова кода платформы и возврата значков приложений как Uint8List s.Это происходит для списка всех приложений на устройстве (может быть довольно много), отображаемого как FutureBuilder s в ListView.builder.

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

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

Есть ли другой способ избежать лаги пользовательского интерфейса?

1 Ответ

0 голосов
/ 05 февраля 2019
Предложение

pskink об использовании HandlerThread добилось цели!Теперь я могу плавно прокручивать даже без предварительной загрузки.

...