locked
关于xpe运行flash程序内存占用越来越大的问题 RRS feed

  • 问题

  • 我做了一个xpe系统, 用来运行flash游戏.

    vc开发了一个mfc程序,改程序调用Adobe Flash插件载入swf文件来播放flash游戏.
    播放没有问题, 问题是随着游戏的运行, 内存占用时高时低, 但是总体上是上升的, 并最终导致虚拟内存不足而退出, 从资源管理器可以看出增加的内存都是被这个flash游戏占用的.
    当退出这个flash游戏, 内存占用又会恢复到游戏运行前的状态.

    用xp和xpe测试相同的flash游戏. 有一个flash游戏在两个平台上内存都会明显上升; 但是有一个flash游戏在xp平台一直是平稳运行的, 而在xpe上一度上升到很高后又回落到正常情况.

    这会不会是xpe系统的问题, 是不是少加了某个组件或者flash插件与xpe系统不匹配造成的.

    xpe组件加入或者配置不当可不可能影响到某些应用程序内存的释放?
    dole panguoqing
    2009年3月28日 16:15

答案

  • XPE本身是不会发生内存泄露的,也不会因为你的镜像文件缺少某个组件而发生内存泄露。所以,这个原因基本可以排除。

    如果在XPP和XPE两个操作系统上都会发生内存泄露的问题,基本就可以确定是应用程序一级的泄漏,即你的Flash游戏存在内存泄露的问题,具体可以通过一些内存泄露检查工具来查一下。这些工具可以在网上下载到。

    如果在XPP上没有发生泄漏,而在XPE上发生泄漏,则可能发生的原因有以下几点:
    1. 你的XPE上启用了EWF或者FBWF功能,建议你关闭这些功能然后再进行测试;
    2. 你的XPE中缺少某些应用程序需要的组件或者库文件,在应用程序初始化某个实例的时候找不到制定的库,从而发生内存泄露(因为对象初始化失败),建议你通过TaskInfo软件查一下。具体方法是在XPP上运行这个软件,然后打开你的应用程序,在TaskInfo中看看你的应用程序需要哪些系统文件和库文件支持,对比一下XPE中是否有这些文件。
    3. 检查你的Flash版本。
    lzg_ad
    2009年3月31日 2:27
    版主

全部回复

  • 没有人碰到过类似的问题吗,自己顶一下先。
    有任何建议的也可以说说啊


    dole panguoqing
    2009年3月31日 1:38
  • XPE本身是不会发生内存泄露的,也不会因为你的镜像文件缺少某个组件而发生内存泄露。所以,这个原因基本可以排除。

    如果在XPP和XPE两个操作系统上都会发生内存泄露的问题,基本就可以确定是应用程序一级的泄漏,即你的Flash游戏存在内存泄露的问题,具体可以通过一些内存泄露检查工具来查一下。这些工具可以在网上下载到。

    如果在XPP上没有发生泄漏,而在XPE上发生泄漏,则可能发生的原因有以下几点:
    1. 你的XPE上启用了EWF或者FBWF功能,建议你关闭这些功能然后再进行测试;
    2. 你的XPE中缺少某些应用程序需要的组件或者库文件,在应用程序初始化某个实例的时候找不到制定的库,从而发生内存泄露(因为对象初始化失败),建议你通过TaskInfo软件查一下。具体方法是在XPP上运行这个软件,然后打开你的应用程序,在TaskInfo中看看你的应用程序需要哪些系统文件和库文件支持,对比一下XPE中是否有这些文件。
    3. 检查你的Flash版本。
    lzg_ad
    2009年3月31日 2:27
    版主
  • 谢谢
    我回去再测试测试
    dole panguoqing
    2009年4月2日 6:26