169 похожих чатов

Кто сталкивался с плохим перформансом FlatList android ? все по документации,

касательно оптимизации.
Использую getItemLayout.

Список состоит из публикаций с медиа

Первое время дикие задержки перед срабатыванием событий клика + часто пустые пространства надолго зависают.
Все это в release mode, apk тоже.

Я так понял, FlatList не предназначен для больших списков с немалыми высотами у элементов(и это мягко еще сказано)...

8 ответов

23 просмотра

js поток может быть занят чем то другим + нужно мемоизировать ячейки обязательно и все пропы листа андроид на РН в целом медленнее - джависты как всегда рукожопы

Попробуй flashlist

FlatList имеет один целевой кейс - бесконечная лента постов с не очень быстрым скроллом. Как раз с крупными (в меру) элементами. Посмотрите в инспекторе сколько он реально элементов рендерит у вас за пределами окна вывода; отпрофилируйте js (грубо говоря, не нагружают ли скрытые компоненты JS поток)...

Dr1ver- Автор вопроса
Nikita Kovantsov
Попробуй flashlist

Мне нужен initialScrollIndex

Dr1ver- Автор вопроса
Gena Black
FlatList имеет один целевой кейс - бесконечная лен...

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

Dr1ver
есть логика фетчинга внутри элемента списка. Очень...

Плохо... Лучше сделать так, чтоб любой элемент списка был максимально тупым и не ререндерился на любой чих, потому что сам виртуализованный список по своей сути айтемы постоянно перерендеривает (поддерживает подмножество в окне видимости), поэтому они там постоянно передергиваются, новые добавляются, старые удаляются (поэтому у них ещё внутреннего стейта не должно быть, привязанного к времени жизни айтема - сбрасываться будет). Итого, если хочется чтоб это быстро работало: 1. элементы должны ререндериться только если это реально необходимо 2. быть максимально тупыми (стейт где-то вовне должен лежать)

Dr1ver- Автор вопроса
Dr1ver
а что насчет recyclerlistview ?

Что он, что FlashList будут работать только с "оптимизированными" айтемами. FlatList пытается скрыть лаги делая большое "окно видимости", а эти наоборот уменьшают окно видимости пытаясь сберечь суммарно циклы процессора... Поэтому если айтемы не оптимальны, то с ними наоборот будут виднее пустые места, когда рендер не успевает за скроллом

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта