写了一个谷歌地图的小程序,通过模拟器发送地理位置信息,如果地理位置有更新,把更新的GEOPOINT加入到一个list里面,
public final LocationListener mLocationListener =
new LocationListener()
{
@Override
public void onLocationChanged(Location location)
{
gp2=getGeoByLocation(location);//gp2是最新的更新点
pointsList.add(gp2);
Log.e("the gp2 is ", gp2.getLatitudeE6()+"||"+gp2.getLongitudeE6()+"||"+pointsList.size());
}
问题1:当我把这个程序关掉时,在Emulator Control发送新的位置信息时,在LogCat还能看到gp2.getLatitudeE6()+"||"+gp2.getLongitudeE6()+"||"+pointsList.size()+"||"+"testValue="+testValue); 这条打印信息,这是为什么?
问题2:当我程序关掉时发送新的位置信息后,再打开该程序,再发送新的位置信息,Log里面一次打印出两条log,比如说,我在关掉程序后,发送了2条新的位置信息,此时打印出来的是03-28 03:53:46.259: E/the gp2 is(815): 22001598||113972458||2,也就是说此时pointsList里面有两个GeoPoint,这个时候,我再把程序启动,再发送位置信息,打印出来的是
03-28 04:10:16.888: E/the gp2 is(815): 22001898||113972458||5
03-28 04:10:16.898: E/the gp2 is(815): 22001898||113972458||2
这两条同时打印出来,
找不到头绪,到底怎么回事呢?