Monthly Archives: 11月 2009

2009-11-23

flash.display.BitmapDataのメモリリーク?

タスクマネージャでスタンドアロンのFlashPlayerが猛烈にメモリを食っていることが分かって、長々と調べた結果、どうやら自分で作ったBitmapDataインスタンスのdispose()を呼んでいないことが原因らしい。えー、何で何で? たぶんどこからも参照されていないと思うんだけど。ローカルフレームからの参照が残ってるのかなぁ。そんなわけないよな、new BitmapDataして変数に入れただけでは残らないし。

ん? new Bitmap(new BitmapData(640, 480, false, 0)); と1行書いただけでダメみたい。もちろん作ったオブジェクトの参照は変数にも入れていないし、addChildもしていない。なんか内部的な理由によるものなんだろうか……。

Loaderで読んだBitmapやBitmapDataはdisposeしなくてもちゃんと解放されてるみたいなんだけどなぁ。

2009-11-20

寒い

今週になって大分気温が下がってきた。

キーボード作業が多少つらくなってきた。

布団ももう少し厚めのものじゃないと、これからがちょっと不安。

自転車も手袋無しではそろそろ限界。

2009-11-20

flash.net.URLLoaderの同時接続数

一度に沢山のURLLoader(やLoader)を作って多数のデータを同時にロード開始しても大丈夫なのかなぁ、と疑問に思ったので試してみた。

  • サーバー上に5MBの適当なファイル(test.dat)を用意。
  • 16個のURLLoaderで("test.dat?date=" + (new Date()).getTime() + "&count=" + count++)というようなURLでキャッシュを回避してダウンロードするActionScriptを書く。それぞれのダウンロードの進捗状況を個別に画面に表示させる。
  • コンパイルしたswfをtest.datと同じ場所に置く。
  • ブラウザでそのswfを開いてダウンロードの状況を観察する。

結果。

  • Firefoxでは最大で6個同時にダウンロードした。これはabout:configのnetwork.http.max-persistent-connections-per-serverの数に一致し、値を4へ変更したら最大4個同時にダウンロードするようになった。
  • IE8(Vista)では最大10個同時にダウンロードした。これはレジストリのHKEY_CURRENT_USERのSoftwareMicrosoftWindowsCurrentVersionInternet SettingsMaxConnectionsPerServerの数に一致し、値を8へ変更(かつIEの再起動が必要だった)したら最大8個同時にダウンロードした。

URLLoaderを沢山インスタンス化して同時に沢山のloadメソッドを呼んでも、ブラウザの同時接続数設定に従って順次ダウンロードが行われるようだ。

ただ、この挙動に頼って良いものかどうかは未だ疑問。

2009-11-17

今日の作業BGM

つーきーぬけーてくー、そーらーをみーあーげーて、わたしーたーちがーはーじまーるよー、みーてーてーね。←この部分気持ちよすぎ。

「君がいて、よかった」の部分のメロディーと「君の笑顔も君の涙もいつか支える力になって」の詩とメロディーが好き。

2009-11-17

雨と紅葉と落ち葉

雨が降っていたので徒歩で出勤。自宅の周りの木々はまだそれほど色づいていない。学校の横を歩いていると、高いフェンスの上から葉が一枚ひらり。葉が地面に着いて少しすると、また一枚ひらり。ゆっくりと一枚ずつ落ちてきた。