【发布时间】:2016-12-13 12:27:47
【问题描述】:
在我的应用程序中,我有一个Service,它接收位置更新并将它们存储到数据库中。我还有一个Fragment,它显示数据库中所有记录的航点的MapView 和PolyLine。
在录制过程中,Service 会通知Fragment 新的航点,以便Fragment 可以更新PolyLine。问题是当用户离开应用程序时,应用程序Service 会一直记录到数据库的航点,但现在Fragment 没有得到更新,因为Fragment 已暂停。所以在onResume我新建了一个PolyLine,读取数据库中的所有航点并将它们添加到数据库中。
这一切都很好,但从性能的角度来看,创建一个新的PolyLine 并重新添加所有航点(可能有数千个!)并不是最佳选择。我想我可以重新添加尚未在PolyLine 中的任何新航点,但我想看看这里是否有人有替代解决方案?有没有办法让Fragment“活着”并更新它的PolyLine,即使应用程序在后台(只要服务正在运行)?或者有更好的方法吗?
【问题讨论】:
标签: android android-fragments android-service android-location android-background