加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex – Adob??e AIR应用程序在空闲时间后响应缓慢

发布时间:2020-12-15 01:47:34 所属栏目:百科 来源:网络整理
导读:我花了数百个我们用Flex 4.0开发Adobe AIR应用程序,现在我认为我应该已经完成??了,但是在让应用程序运行超过几个小时后,UI响应开始缺乏… 我所做的: 我的应用程序使用自定义的chromes,通过将windowImages与透明度设置为Window-modules中的BorderContainers.
我花了数百个我们用Flex 4.0开发Adobe AIR应用程序,现在我认为我应该已经完成??了,但是在让应用程序运行超过几个小时后,UI响应开始缺乏…

我所做的:
我的应用程序使用自定义的chromes,通过将windowImages与透明度设置为Window-modules中的BorderContainers.我打开了许多不同的弹出窗口,它们都基于Window-Class(不是TitleWindow!),并在ActionScript中动态创建和关闭.通过使用Flex Profiler,我当然知道,垃圾收集器会正确销毁所有已分配的资源,并且内存消耗不随应用程序正常运行时间而增加.此外,分析器向我显示,我的方法都没有占用大量的cpu时间,所以这也应该没问题.

真有趣的是:
如果我不断地与应用程序交互(单击按钮,写文本,…)没有任何反应,一切都很好,但如果我不与应用程序交互几分钟然后回来 – UI反应真的很差!

真的很差意味着,如果我在TextInput-Control中输入一些文字,我可以看到每一封写的信都延迟至少1秒!

有没有人经历过类似的情况,或者有人知道,问题可能是什么?
我的建议是,在一些活动之后,flash-player-runtime限制了AIR应用程序的cpu使用,并且在用户返回时不会返回全部功率.

我使用Flex 4.0,Flex 4.1,AIR 1.5,带有Flash Player 9的AIR 2.0以及在Windows XP和Windows 7上运行的Flash Player 10测试了该应用程序…

解决方法

我终于找到了解决方案!

Flex 4引入的新spark组件为WindowedApplication类添加了一个名为“backgroundFramerate”的属性.默认情况下,此属性设置为1,这意味着当主(!)应用程序窗口处于非活动状态时,AIR会自动限制帧速率.不幸的是,这个帧率用于整个应用程序,包括所有其他窗口实例,它们可以在前台并且是活动的!

通过将backgroundFramerate-property设置为-1来禁用自动帧率限制后,所有问题都消失了!

我知道,我已经知道,将新窗口派生的对象用于显示弹出窗口,我相信这是Flex 4中的一个仍然没有修复的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读