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回だけ実行することができます。