ご連絡ありがとうございます。
> 最初の投稿文から感じたのは、ngModelがrequireされた時にリークが発生するのかな。
⇒"requireされる" というのが理解できなかったのですが、もう少し詳細を教えていただいてもよろしいでしょうか。
上記以外で頂いた質問について確認してみました。
> ・ngModelは残しつつ、xxAutofocusを外したらどうなるでしょうか?
⇒input要素にフォーカスされない場合はメモリリークは発生しませんでした。
まあディレクティブを介さずに、直接 "document.getElementById('xxxx').focus() とした場合はリークしました。
> ・ngSinitizeがInjectionされていない場合はどうなりますか?
⇒ngSinitizeを外してみましたが、メモリリークは発生していました。
ngSinitizeはリークとは関係ないようです。
またAngularJSのバージョンを1.3(最新版)にあげてみましたが、同様の問題が発生するようです。
上記に加えて、 angular.js の内部処理を追って、原因箇所を絞り込んでみたのですが、
リークの発生は、angular 標準の input ディレクティブ(= textInputType 関数)内で、element に対して
いくつかのイベントを設定していますが、このイベントを設定した際に、リークするようです。
具体的には、'compositionstart'、'compositionend'、'input'、'change'のイベントのいずれかを
設定した際に発生しました。
input ディレクティブ(= textInputType 関数)では、上記以外に'keydown' や 'paste cut' のイベントも
設定していましたが、これらのイベントではリークは発生しないようです。
上記のイベントとフォーカス処理でのリークがどうしても結びつかず、
手詰まり状態になってしまいました。
JQueryも合わせて使用しているのですが、このあたりで何か問題があるのでしょうか。
引き続き調査してみます。
2015年7月9日木曜日 11時45分21秒 UTC+9 Shunpei Ootani: