【发布时间】:2021-03-30 20:25:06
【问题描述】:
我正在使用 FastImage 在我的 react 本机应用程序的平面列表中显示图像。图像尺寸为 512 x 512,每张图像大小约为 500kB。图像从服务器下载并放置在平面列表中。
我正在使用 xCode 的分配工具对此进行测试。
打开应用程序时,我达到了大约 20mb。但是一旦加载图像(只有 10 张图像),它的拍摄速度就高达 +250mb。
这很奇怪,因为这 10 张图片的总组合大小没有 250mb。
我的平面列表如下所示(简化):
const Component = ({item, index}) => {
return (
<View>
<FastImage source={{ uri: item.uri }} style={{ width: screenWidth, height: screenWidth }} />
</View>
);
};
const App = () => {
const [images, setImages] = useState([]);
const fetchData = () => {
axios({
method: 'get',
url: 'serverURL'
}).then(({data: { images }}) => {
setImages(images);
});
};
useEffect(() => {
fetchData();
}, []);
return (
<FlatList
data={images}
keyExtractor={(item) => item.imageId.toString()}
renderItem={({ item, index }) => <Component item={item} index={index} />}
initialNumToRender={10}
maxToRenderPerBatch={10}
windowSize={11}
removeClippedSubviews={true}
/>
);
};
【问题讨论】:
标签: react-native