Ios 本地ListView对加载的反应较慢

Ios 本地ListView对加载的反应较慢,ios,listview,react-native,Ios,Listview,React Native,我有一个简单的ListView,它似乎需要很长时间才能加载它的项目。我在发布模式下进行了测试,加载整个页面大约需要3秒钟。如果我设置initialListSize={1}我可以看到它逐项构建列表 ListView JSX代码: <ListView dataSource={this.state.dataSource} renderRow={this.renderRow} renderSeparator={(sectionID, rowID) => &

我有一个简单的ListView,它似乎需要很长时间才能加载它的项目。我在发布模式下进行了测试,加载整个页面大约需要3秒钟。如果我设置
initialListSize={1}
我可以看到它逐项构建列表

ListView JSX代码:

<ListView
      dataSource={this.state.dataSource}
      renderRow={this.renderRow}
      renderSeparator={(sectionID, rowID) => <View key={`${sectionID}-${rowID}`} style={styles.separator} />}
      style={styles.listView}
      initialListSize={1}
    />
}
style={styles.listView}
initialListSize={1}
/>
以及renderRow方法:

  renderRow(row) {
    // console.log ('rendering scale row: ' + row.numerator + ':' + row.denominator );
    return (
      <TouchableHighlight onPress={() => this.pressRow(row)} underlayColor="grey">
        <View style={styles.rowContainer}>
          <Text style={styles.rowText}>{row.hasOwnProperty('label') ? row.label : row.numerator + ':' + row.denominator}</Text>
          <Text style={styles.rowText}>{row.hasOwnProperty('label') ? row.numerator + ':' + row.denominator : ''}</Text>
        </View>
      </TouchableHighlight>
    );
  }
renderRow(行){
//console.log('rendering scale row:'+row.numerator+':'+row.deminator);
返回(
此选项。按row(row)}参考底图颜色=“灰色”>
{row.hasOwnProperty('label')?row.label:row.numerator+':'+row.deminator}
{row.hasOwnProperty('label')?row.numerator+':'+row.denominator:'}
);
}
我在renderRow没有做任何复杂的事情。。。数据已经在以前的视图中获取并通过
props
传入

是否有一些我不知道的事情可能会影响加载/渲染时间

这是iOS版,在iPhone4S上。在我的测试中只有12-21行


我还应该补充的是,应用程序的核心是使用JULSC++框架,并在其中一个视图中运行一些音频处理。我有一个音频处理线程,它只在该视图可见时运行-所有其他视图(包括具有此ListView的视图)将停止音频处理线程。我也尝试过以类似的方式停止音频线程,但没有任何区别

我不确定这是否对你有帮助,但我能想到三件事你可以试试

  • cmd
    +
    T
    将打开/关闭“慢速动画”。这是不可能的
  • 如果您正在写入console.log,请注释掉这些行。他们有时会令人惊讶地把事情搞得一团糟
  • 关闭开发模式。你不需要,但值得一试

  • 最好开始使用FlatList或SectionList,因为ListView现在已不推荐使用

    很少有警告,比如必须使用通量/重复频率或继电器。请在此处查看详细信息(功能/注意事项)

    代码看起来正常。设备还是模拟器?只有iOS吗?有多少行?我试着注释console.log并在发布模式下进行测试-这些行仍然需要时间加载。。还没有试过cmd+t。让我知道如果command+t有帮助,请确保在模拟器中按组合键。如果这还不能解决问题,请拍摄一段视频,这样我们就可以看到您所看到的内容。我只是在设备上看到这一点,还没有在模拟器中测试过(模拟器需要很长时间才能加载,并且会减慢我老化的macbook!)啊,那么这肯定不会解决您的问题。对不起,我帮不上忙。