從Android的Performance Tips:爲嵌套數據結構創建對象,避免性能下降?
對象創建從來沒有免費的。 ...當您在應用程序中分配更多對象時,您將強制定期進行垃圾收集,從而在用戶體驗中產生一些「打嗝」。
我的應用程序會定期收集GPS數據以及一些元數據。對於每一個位置請求,就應該將結果添加到數據對象:對象達到一定規模
再經過"data": {
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
...
}
,或者當設備具有更好的連接性,應用程序將流完整的數據對象到我的服務器,清除它,並重新使用空的物體。
雖然重新使用外部物體data
會產生更好的性能,並且確實不難完成,但似乎不可能重新使用內部物體。我是否可以重新使用在下一輪GPS數據收集中很有用的內部對象,並讓剩餘的內部對象被垃圾收集?
我猜想一個簡單樣本的收集至少需要幾毫秒。你的結構有幾個字節。所以我們說的可能是每秒1 KB。那幾乎確切的零,忘記它! – maaartinus