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

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

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

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

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

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

8 ответов

11 просмотров

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

Попробуй flashlist

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

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

Мне нужен initialScrollIndex

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

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

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

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

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

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

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
Так а кто может спарсить всех участников чата? Идишники
Magic
17
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Карта сайта