Javascript basic react本机应用程序内存消耗高
我的第一个反应是本土的,虽然我认为这很容易,但事实证明我很难理解我可能做错了什么 首先,我有一个非常简单的应用程序,它通过redux获取数据Javascript basic react本机应用程序内存消耗高,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我的第一个反应是本土的,虽然我认为这很容易,但事实证明我很难理解我可能做错了什么 首先,我有一个非常简单的应用程序,它通过redux获取数据 componentWillMount() { this.props.fetchCoin() this.props.CurrencyRate() } 然后在它的返回部分呈现它 return ( <ScrollView> <Header />
componentWillMount() {
this.props.fetchCoin()
this.props.CurrencyRate()
}
然后在它的返回部分呈现它
return (
<ScrollView>
<Header />
{/* Custom Search Input */}
<View>
<TextInput
style={textInput}
placeholder="Search Coin"
onChangeText={(text) => this.onSearch(text)} />
</View>
<View>
<FlatList
data={this.state.searchCoin ? displaySearchCrypto : this.props.cryptoLoaded}
renderItem={({ item }) => (
<CoinCard
key={item["long"]}
coinShortName = {item["short"]}
coinName = {item["long"]}
coinPrice = {item["price"].toFixed(2)}
marketCap = {(item["mktcap"]/1000000000).toFixed(4)}
percentChange = {item["perc"].toFixed(2)}
vwapData={item["vwapData"].toFixed(2)}
coinImage={"https://coincap.io/images/coins/" + item["long"] + ".png"}
/>
)}
/>
</View>
</ScrollView>
)
}
}
返回(
{/*自定义搜索输入*/}
this.onSearch(text)}/>
(
)}
/>
)
}
}
我看到我的ram消耗量超过500 MB,即使在
该应用程序已经获取了数据,UI线程粘贴到60(fps),其中
认为UI中没有发生任何事情
你可以在github上找到大部分内容,而不是分享我所有的代码
以上代码片段在此处共享:
上述代码中的CoinCard组件可在此处看到:
对此采取的行动如下:
[问题:有人能帮我找出我做错了什么,我该如何修复它吗?如果有人想要的话,应该在模拟器上工作而不抛出错误。
FlatList
withImage
在Android上有一个未解决的问题:。这里有一些关于性能的提示:
作为第一次尝试修复,请尝试将removeClippedSubviews
添加到FlatList
,尽管这会带来权衡
我还注意到在屏幕截图中,您会收到关于丢失钥匙的警告。修复该问题,然后尝试keydractor
,看看这是否能改善情况
或者,使用非
平面列表
,例如滚动视图
。您将失去平面列表的一些功能,但如果您获得了可接受的内存使用率和性能,这可能是值得的。您能帮助我诊断是否存在内存泄漏吗?你知道有哪篇文章能给我提供同样的信息吗?请看GitHub上的链接。它声称至少解决了部分问题。他们也有一些好的建议。