android 上的 react-apollo 性能问题

react-apollo perfomance issue on android

对我来说,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>

if remove Query - android 和 ios 版本在遍历列表时以大致相同的速度工作。

但是,如果 return 该部分返回 - 它会阻塞 JS 线程,直到 {windowSize} 项中的所有查询都完成 - 因此 UI 仍然是滚动响应,但它们的适当处理程序不能被辞退了。 Ios 工作正常 - 只显示空 space 代替查询,并且不阻塞 JS/UI 线程(perf monitor 显示只是将 fps 降低到 [=21 上的 30-50 范围=])

新版缓存即将推出。它有很大帮助!并使 android 版本的运行速度与 IOS 一样快 link 即将发布的 PR:https://github.com/apollographql/apollo-client/pull/3394