Я загружаю массив точек данных с сервера. Около 1 секунды между обновлениями.
Небольшие наборы данных - всего несколько строк JSON.
Когда загружается FlatList, похоже, он просто сохраняет всю эту память. Я вижу, как он увеличивается на 1-4 МБ каждую секунду, глядя на монитор. Это идет, пока это не будет убито iOS.
<FlatList
data={dataArray}
renderItem={({ item, index }) => (
<CustomView item={item} index={index} />
)}
windowSize={1}
/>
Если я закомментирую представление FlatList, я вижу минимальное увеличение памяти. Остальная часть пользовательского интерфейса обрабатывает это обновление без проблем. (Изменение значений и т. Д.)
Вот рендер
render() {
const { screenProps } = this.props;
return (
<View>
<View style={style.container} />
{this.checkData(this.props.screenProps.dataArray)}
</View>
);
}
}
checkData(data) {
if (data === undefined || data.length == 0) {
return (
<View style={{ alignItems: "center" }}>
<Text>Please start a test</Text>
</View>
);
} else {
return [
<View
style={[
{
backgroundColor: "#EDF5FE90"
},
GStyle.semiBold
]}
>
<customFirstView item={first} />
</View>,
<FlatList
data={dataArray}
renderItem={({ item, index }) => (
<customView item={item} index={index} />
)}
windowSize={1}
/>
];
}
}
Любая помощь будет отличной