对我来说,似乎在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线程(性能监视器显示只需将fps减少到ios上30-50的范围)
答案 0 :(得分:0)
新版本的缓存即将推出。它有很多帮助!并使Android版本的工作速度与IOS一样快 即将上映PR的链接:https://github.com/apollographql/apollo-client/pull/3394