0

我使用数据可视化组件开发了一个 flex 应用程序。我现在正在尝试优化应用程序,我正在尝试的一种方法是使用运行时共享库​​。

我已将 Flex Builder 配置为使用运行时共享库​​进行部署,并为框架、数据可视化和 rpc 共享库添加了 .swz 文件。部署后,我的应用程序会加载,但是每个图表中的轴值都​​丢失了。显示了轴本身,但没有显示它们的标签单位。系列本身也显示出来。

我已经尝试过使用 3.4 SDK 和 Flex Builder 中的 3.2 SDK。我还尝试使用 mxmlc ANT 任务编译 flex 并得到相同的结果。

我确保首先加载框架 RSL,并且我还确保在测试之前已清除全局闪存缓存。

我可以从访问日志中看到 .swz 文件在我第一次向我的应用程序发出请求时被加载,因此我确信我正确清除了 Flash 播放器全局缓存。

有谁知道为什么只有当我使用 RSL 部署时我的轴值才会丢失???切换回合并模式后,我的应用程序工作正常,只有当我使用 RSL 部署时才会遇到问题。

我还尝试仅使用框架 RSL 而不是数据可视化或 rpc RSL(将它们保持在合并模式)进行编译,我得到了相同的结果,没有轴值。

任何帮助表示赞赏。

谢谢。

4

1 回答 1

1

我在使用 3.4.0.9271 时遇到了同样的问题。经过一些试验和错误,我想出了一个 hacky 解决方案。我将为此打开一个错误报告。以下是一些注意事项和示例:

  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 回答