AngularJSで $interval とか使ってデータを定期的に取得したりする場合、別のページに遷移しても明示的に処理を停止させないと全く関係ないページのデータの取得がバックグラウンドで継続してしまう。
そういう場合は $locationChangeStart イベントでタスクをキャンセルさせれば良い。

var intervalTaskId = $interval(
  function(){ console.log("hoge"); },
  1000
);

$rootScope.$on(
  "$locationChangeStart", 
  function(){ $interval.cancel( intervalTaskId ); }
);