ブラウザのBackボタンが押されたことを検知するためにLocationクラスを使用しています。
https://angular.io/docs/ts/latest/api/common/index/Location-class.html

export class PathLocationComponent {
  location: Location;
  constructor(location: Location) { 
     location.subscribe(val => console.log(val))//output popstate
  }
}

しかしながらこのコードで「戻る」と「進む」を繰り返すと出力されるログの数が増えて行ってしまいます。
Location.subscribe()がリークしているものと思われますが、Location.unsubscribe()がないので解放の仕方もわかりません。

リークを防ぐ方法もしくは、subscribeを解放する方法はありますでしょうか。


PlatformLocation.onPopState().というメソッドもありますが
https://angular.io/docs/ts/latest/api/common/index/PlatformLocation-class.html

ドキュメントで以下の様に言われてしまっています。

This class should not be used directly by an application developer. Instead, use Location.