на ListView - работает чертовски быстро, recycle используется на полную.
CollectionView - постоянно подтормаживает и такое ощущение, что recycle просто не работает
Зависит от того, что в collection view складывать, если большие картинки, то лагает ощутимо
Так, а почему в ListView все идеально?
Можно глянуть настройки переиспользования ячеек
А у CollectionView нет настроек кеширования
https://github.com/xamarin/Xamarin.Forms/issues/8718
ну а вообще в шапку пора, одинаковый размер ячеек, биндинг onetime, datatype + все осатльные хаки и костыли
Спасибо конечно, но я все эти хаки наизусть знаю, у меня столько всего написано для списков, сам живу даюсь как до этого руки дошли. На днях вообще написал умный observable collection которому просто скармливаешь новую коллекцию а он сам решает, что удалить, что добавить а что переместить. Работает шикарно
ну там пара хаков в issue еще описаны, Ну раз рассказал, можно и поделиться умным колекшином😂
Позже закину. Я на него теперь каждый день молюсь. Столько нервов мне сэкономил
этой уже больше года
Звучит круто, интересно посмотреть. А так в нативе в Андроиде такое из коробки есть. Сравнивает элементы и решает какие изменилось/добавились/удалились и в зависимости от этого применяет изменения
Я вообще не понимаю, почему в xamarin forms не внедрял такую коллекцию. ListView и CollectionView поддерживают изменения пачками, но все по старинке юзают observable collection, который на каждый новый элемент бросает свое событие
Ну это уже реализация observable collection, так в нем проблем нет, только в реализации. В FastGrid все события нормально отрабатываются, нужна просто грамотная реализация, например вот https://gist.github.com/KirillAshikhmin/fc31e174b668566cc9e60317379f1fdc
Да, я видел уже эту реализацию. Но меня парило, что я формировал список с помощью конечного автомата, а потом после каких то манипуляций двигал элементы вручную, добавлял, удалял. Это все такой геморрой и почти всегда приводит к нарушению DRY
Ну так да. У меня тоже есть такая реализация обновления observable collection для частного случая и там вручную всё подгоняется..
Я так вручную и делал, а когда через неделю пришли правки то схватился за голову. Слишком много нужно контролировать вручную
Ну да, универсальный обработчик это круто
Обсуждают сегодня