ImageView.addEventListener('load', listener) する時に無限ループする場合があるので注意
var listenerImage = function(e) { var image = e.source; var blob = image.toBlob(); // blob.imageAsResized() とか適当な画像処理 image.image = blob; }; var image = Ti.UI.createImageView({ image: imageUrl }); image.addEventListener('load', listenerImage);
みたいなことをしていると、ImageView の image プロパティを書き換えた時に、また load イベントが発火するので、どこかでイベントリスナーを解除しておかないと無限にループします。リサイズ処理させていたら画像がどんどん小さくなるアニメーションをしたので気付きました。
リスナー関数の中で自分自身を指定するには下記で行けます。
e.source.removeEventListener('load', arguments.callee);
これで、イベント発火したときにイベントリスナー解除できるので、最初の1回だけ実行することができます。