Home > Progression

Progression Archive

Progression、メモリリークについての個人的メモ

ここ最近、はまった事とかを忘れないようにメモシリーズ第二弾。

何かと噂のFlashのステキフレームフレームワーク「Progression」ですが、
何度か使って便利さを実感しつつも、
幾つかどうしようもない状況を引き起こしているので、
忘れないようにメモ。

Progressionを使用し、外部SWFをload、unloadする際、
読み込んだ各コンテンツシーン(外部SWF)がunloadされず、
メモリに残り続けるという現象。
今回は外部SWFがメガコンテンツだっただけに、あっと言う間にカックカク。
いろいろ試してみるも効果なし。

開発者のniumさんも言っているように、現状メモリ関連は対応していないらしい…。
LoadChildした外部swfを完全にUnloadするには
CastSprite内でCastImageLoaderを使用するとメモリが解放されない?

一つ目のスレッドの最後にもあるように、
個人的にいろいろ試した結果、原因は、外部SWFにドキュメントクラスやその他のクラス全てにおいて、Progressionの標準クラス(Castとか)を使用すると、unloadされない。
ということ。

テストはFlash標準のデバッグモード+SWFProfilerで確認。
外部SWFとして、以下2つのファイルを用意。
A.swf→ドキュメントクラスにCastMovieClipでクラスを設定。基本項目以外は設定なし。
B.swf→ドキュメントクラスにMovieClipでクラスを設定。基本項目以外は設定なし。
※ファイルを重くするため、テキストを大量にアウトライン化して配置。

indexSceneからそれぞれ読み込むテストを行うと、
A.swfはunload、メモリ解放が全くされない。
B.swfは問題なくunload、メモリも解放された。

試しに、B.swf内にCastSpriteで丸だけのクリップを作成し配置した。
結果、B.swfはunloadされず、メモリも解放されなくなった。
なお、indexSceneを参照する事は可能だった。

あまり検索してもこの手の話はヒットしなかったのですが、
う~ん、これはオレだけなのか・・・?

さらに、困った現象は、
B.swf(CastSpriteなどは削除した初期ファイル)でTweenerを使用する際、
CurveModifiersとDisplayShortcutsの初期化(init())すると、
unloadされず、メモリも解放されなくなる・・・というもの。

まだ勉強不足な所が多々あるので、
きっと何かを間違えているに違いとは思いますが、
なかなか奥が深いProgreesionだなっと。

Progression を試してみる vol.2[外部ファイル読み込みメモ]

Progressionでの自分用メモ
外部の画像を読み込んでアルファのTweenを行う方法1。

protected override function _onCastAdded():void {
var com:LoadChild = new LoadChild( this, new URLRequest("sample.jpg"));
com.loader.alpha = 0;
// オブジェクトの load() メソッドによる読み込みが開始された瞬間に送出されます。
com.loader.onCastLoadStart = function():void {
this.addCommand(
new Trace( "onCastLoadStart" )
);
}
// オブジェクトの load() メソッドによる読み込みが完了された瞬間に送出されます。
com.loader.onCastLoadComplete = function():void {
this.addCommand(
new Trace( "onCastLoadComplete" )
);
}
addCommand(
// 任意のコマンドを記述してください。
com,
new DoTweener( com.loader, { alpha:1, time:2 } )
);
}

読み込みスタートと完了通知関数があるけど、読み込み中ってどうすればいいんだろうか。
う~ん、もうチョイなのか

Progression を試してみる vol.1

最近ずっと気になっていた
Progression Frameworkをようやく試してみました。
というはなし。

最近はチュートリアルやサンプル、ちらほらFlasherさんのブログで解説されているので、
それらのサイトを参考に、取り合えず動くものを作成してみました。
コレ

コンポーネントベースタイムラインベースもあるので、
AS苦手でもサクッといろいろ出来ちゃうみたいですが、
取り合えず「クラスベースでの制作スタイル」で始める。
とにかく手探りでなのでたったコレだけで2日弱もかかる…

もう既にいろいろな方が書いていますが、
ブラウザの戻る/進むボタンが使えたり、
右クリックで新規ウィンドウとか選べたり、
中コンテンツへ直リン貼れたりと
本当にすごいと思いました。

馴染むまでまだ暫くかかりそうですが…
やっぱり便利そうなので、試していこうかと。

ホーム > Progression

RSS Feed
FICC FREELANCE NETWORK
Blogパーツ

Return to page top