2010-06-30 46 views
1

我的Flex应用程序报告的用户有时应用程序在浏览器窗口最小化时冻结,或者他们选择另一个活动选项卡覆盖它。在这种挂起状态下,应用程序不会收到CPU共享,并且它使用的所有网络连接都已关闭。浏览器窗口恢复后,应用程序恢复。 Mac OS Leopard上的Safari 5出现这种情况,Flash player 10.0和10.1都是这种情况。我搜查了很多,但我无法找到任何有关此类行为的信息。Flex应用程序在Mac上使用Safari后台挂起

此行为不是每台Mac的Safari上可重复的,所以我的问题是:

在什么情况下可能发生这种情况?

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

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

回答

0

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

我不认为有什么办法可以防止这种情况;并没有暴露与此相关的API。

我刚刚讲过的其他人在最小化应用程序和活动应用程序之间使用本地连接时遇到了问题。我敢打赌,在这个bug基础上已经存在一个bug。

+1

只是要清楚,10。1不会进入睡眠状态,它在此状态下具有抑制帧速率。 Tinic的文章就是这样的行为:http://blog.kaourantin.net/?p=82 你是正确的,LocalConnection也在这种状态下受到限制。这是设计,而不是一个错误。 – 2010-07-01 10:40:25

+0

David;好东西,我还没有看到那些博客文章。 – JeffryHouser 2010-07-01 12:10:48

+0

@Flextras:我担心这会发生在10.0和10.1玩家身上,我会相应地更新说明。 – 2010-07-01 13:39:05

0

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

  • 这会发生在任何的Flash内容,在后台标签页
  • 不知道禁止这种行为的一种手段(不知道的最小化状态)。
  • 您可能需要在Safari文档中进行深入研究,以了解是否存在某种可以抓取的JavaScript事件,但我认为您可能无法在此获得成功。

祝你好运。

+0

看来它不会每次都发生 - 我在Safari Leopard上用Safari 4和5尝试了它,并且所有标签都在同时播放。我想知道这是什么时候和为什么发生的 – 2010-07-01 13:38:37

0

WRT上面以下内容:

。我不认为有什么办法防止这种情况;并没有暴露与此相关的API。

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

相关问题