来自 Android 的性能提示:
对象创建从来都不是免费的。...当您在应用程序中分配更多对象时,您将强制进行定期垃圾收集,从而在用户体验中产生一些“小问题”。
我的应用程序会定期收集 GPS 数据以及一些元数据。对于每个位置请求,它应该将结果添加到数据对象中:
"data": {
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
...
}
然后在对象达到一定大小后,或者当设备具有更好的连接性时,应用程序会将完整的数据对象流式传输到我的服务器,将其清除,然后重新使用空对象。
虽然重用外部data
对象会产生更好的性能,而且肯定不是那么难实现,但似乎不可能重用内部timestamp
对象。我可以重新使用在下一轮 GPS 数据收集中有用的内部对象,并让任何剩余的内部对象被垃圾收集吗?