Size: a a a

Flutter Developers — русскоговорящее сообщество

2019 July 20

АК

Александр Котков in Flutter Developers — русскоговорящее сообщество
Юрий
пол часа думал что такое иконкуна )
😂
источник
2019 July 22

DR

Dmitry Rabetsky in Flutter Developers — русскоговорящее сообщество
Всем привет! Не могу понять в чем проблема по перфоменсу:
если в табах слишком длинные списки 500 items, то переключение между табами занимает около 3 секунд на debug, 500ms на релизной сборке . Да и память начинает поглощать. Собрал пример тут. Есть идеи в чем дело? Нативные андроид с таким кейсом работает без проблем
https://gist.github.com/neestell/f2ad6e546610111e68ad418dbc37455c
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
Dmitry Rabetsky
Всем привет! Не могу понять в чем проблема по перфоменсу:
если в табах слишком длинные списки 500 items, то переключение между табами занимает около 3 секунд на debug, 500ms на релизной сборке . Да и память начинает поглощать. Собрал пример тут. Есть идеи в чем дело? Нативные андроид с таким кейсом работает без проблем
https://gist.github.com/neestell/f2ad6e546610111e68ad418dbc37455c
потому что 500 айтемов постоянно перерендериваются при переключении табов
источник

DS

DVS Studio in Flutter Developers — русскоговорящее сообщество
Мб есть что то типа RecyclerView для флаттера?
Который рендерит только те что на экране + кеш
источник

DK

Danial Kolyasnikov in Flutter Developers — русскоговорящее сообщество
Dmitry Rabetsky
Всем привет! Не могу понять в чем проблема по перфоменсу:
если в табах слишком длинные списки 500 items, то переключение между табами занимает около 3 секунд на debug, 500ms на релизной сборке . Да и память начинает поглощать. Собрал пример тут. Есть идеи в чем дело? Нативные андроид с таким кейсом работает без проблем
https://gist.github.com/neestell/f2ad6e546610111e68ad418dbc37455c
Тут основная проблема в том , что тут 500 Артемов
источник

DK

Danial Kolyasnikov in Flutter Developers — русскоговорящее сообщество
Так не стоит делать. Тут нужно реализовать lazy load
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
У листвью должен быть lazy load
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
он же не всё сразу рендерит
источник

DK

Danial Kolyasnikov in Flutter Developers — русскоговорящее сообщество
Danial Kolyasnikov
Тут основная проблема в том , что тут 500 Артемов
Я б сказал глобальный проеб дизайна
источник

Ю

Юрий in Flutter Developers — русскоговорящее сообщество
а где-то был код который сохраняет состояние после первого рендера и не вызывает это заново
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
Юрий
а где-то был код который сохраняет состояние после первого рендера и не вызывает это заново
да, можно добавить в виджет стейт with AutomaticKeepAliveClientMixin
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
wantKeepAlive => true
источник

Ю

Юрий in Flutter Developers — русскоговорящее сообщество
Во, оно самое!
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
то есть обернуть таб в стейтфул виджет и добавить вот это
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
Artem Krupp
У листвью должен быть lazy load
там вызывается билдер, в нём обрабатывается весь список как есть, по итогу у всех в списке вызывается свои билдеры и тд
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
если вызывать билдер у списка элементов только тогда, когда они показываются - будет UI тормоза при прокрутке
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
Но именно так работает ресайклер
источник

IP

Igor Petushkov in Flutter Developers — русскоговорящее сообщество
ресайкл?
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
Ресайклер
источник

AK

Artem Krupp in Flutter Developers — русскоговорящее сообщество
RecyclerView
источник