1

60 秒ごとにリロードされるイメージの簡単なリストを作成しました。ただし、リロード プロセスが開始されると、Flash がハングするように見えるか、少なくともマウス入力をまったく受け付けない/記憶しないことに気付きました。

具体的には、おそらくフリーズしている間に、ボタンをクリックして通常の機能を実行しようとしますが、現時点ではマウスダウン状態を表示しているだけですが、想定されるフリーズが終了するまでクリックは登録されません。その結果、もう一度クリックする必要があります。

私が5つの小さなpng画像をロードしている場合(ループで5回呼び出すload()) 、これによりFlashがハングしてマウス入力を無視するか、または私がクレイジーに話しているので、問題を他の場所で探す必要があります。

Flash がマルチスレッド化されていないことは理解していますが、呼び出しload()によってアプリケーション全体が 100 ~ 200 ミリ秒間停止することはありません。

どんな入力でも大歓迎です、ありがとう。

4

3 に答える 3

2

あなたのコメントに応えて:

Loaderオブジェクトが実際にswfまたは何らかのタイプの表示オブジェクトをロードし、フラッシュが内部でバイナリデータを変更し、内部でSWFまたはビットマップタイプを解析して.contentディスプレイにレンダリングするということ以外に、これ以上明確な証拠を与えることはできませんLoader オブジェクト内のオブジェクト。このすべての前に、バイナリ データを取得する URL 要求をディスパッチすることを気にしないでください。ローダー オブジェクトのバックグラウンドでは多くの処理が行われています。バイナリ データの変更に関する証明が必要な場合は、イメージをロードし、ローダーからバイトをコピーして、どこかに保存します。次に、元のデータと比較します。そこに変更が表示されます。実際、出力バイトを画像に保存し直して画像ビューアーで開こうとしても機能しません。これは変更の証拠でもあります。それ以外、SWF へのリンクを投稿し、ここにいる他の人にテストしてもらい、同じことが起こるかどうかを確認することができます。ローダーまたは表示オブジェクトに関連するコードはクローズド ソースであり、フラッシュ VM のオープン ソース部分である Tamarin プロジェクトには含まれていないため、これが得られる証拠のほとんどです。

于 2011-08-10T23:58:21.210 に答える
1

フリーズについて — LoaderContext#imageDecodingPolicy について読んで、こちらを参照してください http://www.bytearray.org/?p=2931

于 2011-08-11T14:33:15.740 に答える
0

私自身の質問に答えると、ラグやハングはありません。Flash はすべてをMouseEvent.CLICK適切に処理しますが、マウスダウンを行った後、マウスアップの前にリロード中に画像オブジェクトを交換すると、Flash はクリック イベントを送出しないため、使用時に注意する必要があります。 t により、同じオブジェクトでマウスダウンとマウスアップが発生しました。Flash が私のマウス クリックを登録していないように見えたので、ラグがあると思われました。

問題を解決しようとしたすべての人に感謝します。

于 2011-08-11T10:37:48.447 に答える