Мне кажется, что в Reaction-Apollo есть некоторые проблемы с производительностью на Android. Например, у меня есть FlatList элементов, каждый из которых имеет
<Query
query={cardUniversalQuery}
variables={{
date: date.format(innerDateFormat)
}}
delay>
{({ data }) => (
<FlatList
data={data && data.userDayActivities ? data.userDayActivities : []}
renderItem={({ item }) => <ListItem {...item} />}
keyExtractor={(item, index) => ((index).toString())} />)}
</Query>
, если удалить Query - версия для Android и iosработает примерно с той же скоростью, пока идет список.
Но если вернуть этот раздел обратно - он блокирует поток JS до тех пор, пока все запросы в элементах {windowSize} не будут завершены - так, чтобы пользовательский интерфейс все еще оставался ответом при прокрутке, но их надлежащие обработчики не могли быть запущены.IOS работает нормально - просто отображайте пустое место вместо запроса и не блокируйте поток JS / UI (perf монитор показывает просто уменьшение fps до 30-50 на ios)