使用Mac上的Safari在后台暂停Flex应用程序

时间:2010-06-30 12:40:08

标签: flex macos actionscript safari background

我的Flex应用程序的用户报告说,当浏览器窗口最小化或者在浏览器窗口上选择另一个活动选项卡时,有时会冻结应用程序。在此挂起状态下,应用程序不会收到CPU共享,并且它关闭的所有网络连接都将关闭。恢复浏览器窗口后,将恢复应用程序。这适用于Mac OS Leopard上的Safari 5,同时包含Flash播放器10.0和10.1。我搜索了很多,但我找不到任何关于这种行为的信息。

使用Safari在每台Mac上都无法重现此行为,因此我的问题是:

在哪种情况下可能会发生这种情况?

是否有可能进入暂停状态以及如何进行?

是否可以通知Flex应用程序进入睡眠模式并唤醒它?

3 个答案:

答案 0 :(得分:0)

您的用户是否使用Flash Player 10.1?作为10.1中性能改进的一部分;我相信处于最小化状态的应用程序将受到限制,以便使用更少的系统资源/电池电量。

我认为没有办法阻止这种情况;并且没有暴露与此相关的API。

我说过的其他人在使用最小化应用和有效应用之间使用本地连接时遇到了问题。我敢打赌,bug基础上已经存在一个错误。

答案 1 :(得分:0)

这是一个Safari的东西,是设计的。较新版本的Safari暂停不在前台选项卡中的Flash内容(不确定何时启动,版本4?)例如,如果您打开了多个选项卡,每个选项卡都播放了YouTube视频,您可以在选项卡之间来回切换,一次只播放一个视频。回答您的具体问题:

  • 这将发生在后台标签中的任何Flash内容(不确定最小化状态。)
  • 不知道禁用此行为的方法。
  • 你可能想在Safari文档中挖掘一下,看看是否有一些你可以抓住的JavaScript事件,但我认为你不可能在那里取得成功。
祝你好运。

答案 2 :(得分:0)

如上所述:

  
    

。我认为没有办法阻止这种情况;并且没有暴露与此相关的API。

  

您可能需要查看Librato的Silverline是否可以帮助您根据应用程序需求控制多少以及哪些应用程序通过动态控制获取系统资源(CPU,内存,磁盘和网络IO)。如果上述问题是闪存的一个特征 - 那么显然它可能没有帮助。但是,如果您试图说运行多个应用程序/进程并想控制谁获得多少系统资源(动态),那么您可以尝试Silverline - 它不需要对操作系统或应用程序进行任何更改。 http://silverline.librato.com