使用运行时共享库​​时,为什么Flex图表轴值/标签不显示

时间:2009-11-10 16:38:02

标签: flex charts data-visualization rsl

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

我已将Flex Builder配置为与Runtime Shared Libraries一起部署,并为框架,datavisualization和rpc共享库添加了.swz文件。部署之后,我的应用程序加载,但是我的每个图表中的轴值都​​丢失了。显示轴本身,但它们没有显示其标签单位。系列本身也会显示出来。

我使用3.4 SDK以及Flex Builder中的3.2 SDK尝试了这一点。我还尝试使用mxmlc ANT任务编译flex,并得到相同的结果。

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

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

有没有人知道为什么我的轴值只有在我使用RSL部署时才会丢失?切换回Merged模式,我的应用程序运行正常,只有当我使用RSL部署时才会出现问题。

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

感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

我使用3.4.0.9271遇到了同样的问题。经过一些反复试验,我发现了一个hacky解决方案。我打算为此打开一个错误报告。以下是一些注释和示例:

  1. 仅当您的图表使用嵌入字体时才会发生这种情况。据我所知,设备字体很好。
  2. 正如您所发现的那样,框架rsl的加载似乎是有罪的一方。
  3. 在初始化阶段,嵌入字体可供应用程序使用 - 跟踪Font.enumerateFonts数组以查看。我有点惊讶我的嵌入字体可用。
  4. 明确注册字体似乎可以解决问题
  5. 我不知道这可能会对加载时间,字体冲突等产生什么影响
  6. 示例:在Application的初始化阶段

    中注册嵌入式Lucida字体
    [Embed(source="/assets/fonts/Lucida Grande.ttf",fontName="LucidaGrandeEmbedded", fontStyle="normal")
    private var myNormalLucida:Class;
    
    private function onInitialize():void {
      Font.registerFont(myNormalLucida)
    }