【发布时间】:2018-11-16 04:20:59
【问题描述】:
对我来说,react-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>
如果删除查询 - android 和 ios 版本以大致相同的速度运行,同时通过一个列表。
但是如果返回该部分 - 它会阻塞 JS 线程,直到 {windowSize} 项中的所有查询都完成 - 所以 UI 仍然响应滚动,但不能触发它们的正确处理程序。 ios 工作正常 - 只显示空白空间代替查询,并且不阻塞 JS/UI 线程(性能监视器显示在 ios 上仅将 fps 降低到 30-50 的范围)
【问题讨论】:
标签: android performance react-native react-apollo react-native-flatlist