How can you prevent memory leaks in AngularJS applications?

Prevent memory leaks by deregistering $watch listeners, cancelling $timeout and $interval, and managing $scope.$on listeners with $destroy. Chrome DevTools and profiling tools help monitor active listeners and retained objects, making it easier to identify and fix memory leaks.

var unwatch = $scope.$watch('variable', function(newValue) {
  // Watcher code
});
$scope.$on('$destroy', unwatch);