0

データ視覚化コンポーネントを使用してフレックス アプリケーションを開発しました。私は現在、アプリケーションを最適化しようとしています。私が試みているアプローチの 1 つは、ランタイム共有ライブラリを使用することです。

ランタイム共有ライブラリで展開するように Flex Builder を構成し、フレームワーク、データ視覚化、および rpc 共有ライブラリ用の .swz ファイルを追加しました。展開後、アプリケーションが読み込まれますが、各グラフ内の軸の値がありません。軸自体は表示されますが、ラベルの単位は表示されません。シリーズ自体も展示されています。

Flex Builder 内で 3.4 SDK と 3.2 SDK を使用してこれを試しました。また、mxmlc ANT タスクを使用して flex をコンパイルしようとしましたが、同じ結果が得られました。

フレームワーク RSL が最初に読み込まれることを確認し、テスト前にグローバル フラッシュ キャッシュがクリアされていることも確認しました。

アクセス ログから、アプリケーションに対して初めてリクエストを行ったときに .swz ファイルが読み込まれていることがわかります。したがって、Flash Player のグローバル キャッシュを適切にクリアしたと確信しています。

RSL を使用してデプロイした場合にのみ、軸の値が欠落する理由を知っている人はいますか? Merged モードに戻すと、アプリケーションは正常に動作しますが、RSL を使用してデプロイした場合にのみ問題が発生します。

また、datavisualization または rpc RSL を使用せずにフレームワーク RSL のみを使用してコンパイルしようとしましたが (それらをマージ モードに維持)、同じ結果が得られ、軸の値はありません。

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

1

3.4.0.9271 を使用して同じ問題が発生していました。試行錯誤の末、ハッキーな解決策を見つけました。これについてバグレポートを開きます。いくつかの注意事項と例を次に示します。

  1. これは、グラフが埋め込みフォントを使用している場合にのみ発生します。私が知る限り、デバイス フォントは問題ありません。
  2. あなたが発見したように、フレームワークrslのロードは有罪のようです。
  3. 初期化フェーズでは、埋め込まれたフォントがアプリケーションで使用可能になります。Font.enumerateFonts 配列をトレースして確認します。埋め込みフォントが利用できることに少し驚きました。
  4. フォントを明示的に登録するとうまくいくようです
  5. これがロード時間、フォントの競合などにどのような影響を与えるかはわかりません

例: アプリケーションの初期化フェーズ内に埋め込まれた Lucida フォントを登録する

[Embed(source="/assets/fonts/Lucida Grande.ttf",fontName="LucidaGrandeEmbedded", fontStyle="normal")
private var myNormalLucida:Class;

private function onInitialize():void {
  Font.registerFont(myNormalLucida)
}
于 2009-11-19T18:05:08.897 に答える