在我的应用中,我必须显示用户访问某个位置的次数。我通过在onlocationchanged方法中将位置详细信息保存到DB来完成它。但即使我坐在空闲状态,频繁调用此方法,也会将大量条目插入到DB中。我该怎么做呢。提前致谢
@Override
public void onLocationChanged(Location location) {
if (location != null && location.getLatitude() != 0
&& location.getLongitude() != 0) {
Preferences.setLattitude(context, location.getLatitude());
Preferences.setLongitude(context, location.getLongitude());
Preferences.setCurrentLocation(context, Utility
.getAddress(location.getLatitude(),
location.getLongitude(), context));
saveCurrentLocationDetails(); } }
答案 0 :(得分:2)
请测量插入的两个连续位置之间的位置差异,如果差异超过阈值,则增加位置访问次数,否则丢弃它,甚至不需要在DB中保存频繁的相同位置,也保持差值的阈值是200米。