mobyletというものがあるらしいが、動きを知らずにソースだけ読む変態

よくわからんけど、sandbox卒業したらしい。携帯がらみのフレームワークだそうだ。

どういうものかソースを探そうと思ったが実行形式しかサイトには見当たらない。

http://mobylet.seasar.org/informations/

をみるとリポジトリがあるようなのでそこにアクセスすると404。URLのsandboxが邪魔みたい。



おいらがまったく知らないフレームワークのソースを見る理由はJava2Dなので画質がよくないです、という部分。携帯電話に使用する画像で画質が問題になるんだろうか、もしかして描画オプションデフォルトの速度優先モードなんじゃないかとか思ってのこと。普通速度が問題になるってことはあるだろうけど。

MobyletImageScaler.javaを軽く見たところ、以下の点が気になった。違っていたらすみません。

  • Graphicsの取得後disposeを呼び出していない
  • getScaledInstanceを同期されているのが前提で組んでいる

1つ目はfinallyがよばれるまでリソースをくいつぶしていることが危険。画像系は使用リソースがメモリの中だけとは限らない。クライアントアプリなら多少遅くともよいが、サーバーサイドでこれは危険。

2つ目は非同期APIである点。これは主にアプレットのような描画がおくれてもよいというところで使うメソッドで、Imageの中身が即座に返されるとは限らない。空っぽや処理中で返される場合があるのだ。そしてこういうのはあとで変更がある場合通知される(場合もある)。


あとImageUtilsでCodecの判別のときにGIFとgifは認識できるけどGifは認識できないっぽいというのが気になる。

…
} else if (suffix.startsWith("gif") ||
  suffix.startsWith("GIF")) {
  return ImageCodec.GIF;
} else

すぐ下にあるメソッドのように小文字変換したほうがいいと思う。


一度も起動したことない上に、どういう機能があるかもわからないのにケチつけてる形ですみません。