Как оптимизировать приложение для сравнения цен (Flutter), чтобы одновременно вызывать только один http.get? - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над приложением для сравнения цен, которое сравнивает цены нескольких индонезийских веб-сайтов электронной коммерции. Некоторые используют html, некоторые используют api. Это выглядит так: enter image description here

Репозиторий github находится здесь: https://github.com/0n9aldrin/price-comparison

Игнорирование неправильных звездочек рейтинга, все остальное работает хорошо. Однако приложение очень тормозит. Как вы можете видеть в нижней части экрана, я также показываю все продукты этого поиска, и я заметил, что каждый раз, когда я ищу элемент, все разные вкладки делают запросы http.get одновременно, просто чтобы получить общее внизу страниц (будущий конструктор), а затем, когда я нажимаю на отдельную вкладку, он делает еще один запрос на отображение сетки. На ум приходят, возможно, два варианта:

  1. Загружать все веб-сайты сразу, поэтому приложение будет тормозить только на несколько секунд, а потом все станет лучше.

  2. Загружать информацию, только когда я нажимаю на следующую вкладку. В настоящее время он делает это только для gridview, но не для будущего построителя внизу страницы.

Это две идеи, которые я придумал, но я не знаю, как это сделать. воплощать в жизнь. Глядя на мое репо, есть ли способ реализовать любую из этих идей? Если задержка не связана с HTTP-запросами, дайте предложения.

Спасибо

1 Ответ

0 голосов
/ 09 мая 2020

Возможно, вам следует использовать «FutureBuilder» для каждого TAB_PAGE. Когда пользователь переходит на другой экран, он загружается, только если его нет в кеше.

...