この前の書いた記事で、finish()したアクティビティがまだ生きているんじゃないかと疑いを立てていたのですが・・・
やっぱりプロセス自体は生きていました。
ddmsでプロセス一覧を取得すると、殺したはずのアクティビティ(jp.hews.getsensorvalues)がちゃんと生きています。
とある情報筋によると、使わなくなったアクティビティはスグに消されずに残っているようだ。
だから、せめてタイマ処理とかロケーションリスナなどは明示的に終わらせておく必要があるみたいだ。
該当するメゾッドをリファレンスから探して、コードに書いてみた。
public class GetSensorValues extends Activity
implements LocationListener {
//位置情報を取得するためのマネージャ
LocationManager mLocationManager;
Timer timer = null;
//省略::
public void onStop(Bundle savedInstanceState){
//タイマとリスナは強制終了。
timer.cancel();
mLocationManager.removeUpdates(this);
}
//省略};
・・・・結果を見てみると、やっぱり同じ時刻のデータが複数のファイルに記録されている。
ということは、タイマもリスナも強制終了されていない見込み。
今日はもうこんな時間なので、また明日対策することにする。

