我正在制作一个应用程序,每当它启动时,它的内存使用量就会达到40 mb。我认为这很好,但是每当我开始滚动浏览项目时,就像带有图像的卡片一样,我看到XCode上的内存使用从40ish增加到100-120mb。
这是我使用FlatList的方式:
<FlatList
numColumns={1}
windowSize={3}
initialNumToRender={3}
extraData={this.state}
removeClippedSubviews={true}
contentContainerStyle={{flexGrow: 1}}
keyExtractor={ this._keyExtractor }
data={ this.state.filteredUsers }
renderItem={ this._renderCardItem }
refreshing={ this.state.refreshing }
onRefresh={ this.handleOnRefresh }
/>
由于卡片很大,因此由于图像的原因,它在整个iPhone XS屏幕上都适合1.5卡。
如何改善内存使用率?可以吗我在卡组件上确实有一个componentDidUnmount,只要该项目不在屏幕上,我就会看到它已执行。那么,为什么garbage collector
或其他东西没有清除内存?这正常吗?