我正在使用react-native-elements中的ListItem在不同组件的一个屏幕上渲染大约70张图像,但是这些图像在Android上不显示,但是在iOS上可以正常显示)。我知道在Android上对内存的处理方式不同,因此我将所有图像更改为1kb的测试器图像,从而解决了该问题。目前,我已经可以将我的图片平均压缩到约20kb,但它们仍无法在Android上显示。我不确定是否可以将其压缩得更低,所以我希望在此处更改代码或获得一些见识。
代码在下面。重申一下–这在iOS上没有问题。
_renderContent = () =>
this.props.dressing.map(top => {
const { checkboxes } = this.state;
return (
<ListItem
key={top.id}
avatar={
<Image
source={{ uri: top.url }}
style={styles.listitemimage}
resizeMode="contain"
/>
}
subtitle={
<CheckBox
title={
checkboxes && checkboxes.includes(top.id)
? 'Added'
: 'Click to Add'
}
onPress={() => {
this.handlePress(top);
}}
checked={checkboxes && checkboxes.includes(top.id) ? true : false}
/>
}
chevronColor="white"
/>
);
});
我正在通过包含图片网址的json数据进行映射。
示例网址:https://i.imgur.com/bkEjyTg.jpg 1
如果需要的话,我正在使用Expo。