Flex 错误 - 灰色圆圈中的白色感叹号:这是什么意思?

发布于 2024-10-09 07:44:13 字数 389 浏览 3 评论 0原文

我们有一个灵活的应用程序,通常会运行很长时间(可能是几天或几周)。当我今天早上进来时,我注意到该应用程序已停止运行,并且应用程序的中心有一个灰色圆圈中的白色感叹号。我在 Adob​​e 论坛上找到了一篇关于它的帖子,但似乎没有人确切知道该符号的含义,所以我想我应该联系 SO 社区。

Adobe 论坛帖子:http://forums.adobe.com/message/3087523

的屏幕截图符号:

alt text

有什么想法吗?

We have a flex app that will typically run for long periods of time (could be days or weeks). When I came in this morning I noticed that the app had stopped running and a white exclamation point in a gray circle was in the center of the app. I found a post about it on the Adobe forums, but no one seems to know exactly what the symbol means so I thought I'd reach out to the SO community.

Adobe forum post: http://forums.adobe.com/message/3087523

Screen shot of the symbol:

alt text

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

萌面超妹 2024-10-16 07:44:13

以下是您链接到的 Adob​​e 员工在帖子中的回答:

您看到的错误是新的
内存不足通知。这是
基本上屏蔽了用户
内存使用接近系统
资源上限。最好的课程是
此处操作(如果您拥有该内容)
是检查你的申请是否高
内存使用情况并纠正错误。
如果您不拥有该内容,则会
可能最好联系业主
并让他们意识到您的问题
正在看到。

他在后来的回应中也这么说:

开发者可以使用
AS3 中的 System.totalMemory 属性
监控内存使用情况
Flash Player 正在占用。这个我会
让你看看有多少内存
使用过,哪里有泄漏,并允许您
在此基础上优化您的内容
财产。

Here's an answer in the post you linked to from an Adobe employee:

The error you are seeing is the new
out of memory notification. It is
basically shielding the user when
memory usage gets near the system
resource cap. The best course of
action here (if you own the content)
is to check your application for high
memory usage and correct the errors.
If you don't own the content, it would
probably be best to contact the owners
and make them aware of the issue you
are seeing.

He also says this in a later response:

Developers can use the
System.totalMemory property in AS3 to
monitor the memory usage that the
Flash Player is taking up. This iwll
allow you to see how much memory is
used, where leaks are and allow you to
optimize your content based on this
property.

肩上的翅膀 2024-10-16 07:44:13

我在一家数字标牌公司工作,我们也遇到过这个错误,但是,它不仅与内存泄漏有关,因为它可能是由于利用该页面上提供的矢量代码引起的。我们还注意到,它的发生没有任何类型的内存峰值,并且有时是随机出现的。然而我们注意到,当我们复制带有向量错误的错误时,它说这是内存不足错误 - 显然情况并非如此。

在我们的内部测试中,我们注意到此错误仅发生在 Flash Player 10.1 及更高版本中,Flash Player 10 似乎没有此问题。此外,错误的发生与视频的使用之间似乎没有很弱的联系。我知道这可能没有太大帮助,但我想您应该知道这不仅仅是与内存泄漏相关的问题。我已将此错误提交给 Adob​​e,希望他们尽快解决。

I work for a digital signage company and we have also came across this error, however, it is not only memory leak related because it can be caused by utilizing the vector code on that page provided. We have also noted that it occurs without any kind of memory spike whatsoever, and sometimes appears randomly. However we noticed that when we replicated the bug with the vector error, it was saying it was an out of memory error - which clearly was not the case.

In our internal tests we noted that this bug only occurs with flash player 10.1 and up, flash player 10 does not seem to have this issue. Further, there seems to be a weak connection between the error occurring and the use of video. I know this might not be too much help, but just thought you should know it is not only a memory leak related issue. I have submitted this bug to Adobe, and hopefully they resolve it soon.

时间海 2024-10-16 07:44:13

当使用使用单个负 int 数组初始化的 Vector.int 时,可能会发生这种情况。由于您使用以下代码初始化向量类的方式:

Vector.int([-2])

-2 被传递给向量类,因为它的初始长度就像 Array(5) 一样。这会以某种方式导致错误(并且不会作为异常进行检查和引发)。

This can occur when using a Vector.int which is initialized using an array of a single, negative int. Because of the way you initialize the vector class with code such as:

Vector.int([-2])

The -2 gets passed to the vector class as it's initial length like Array(5) would be. This causes an error somehow (and is not checked and raised as an exception).

那些过往 2024-10-16 07:44:13

我还注意到将负值传递给向量长度时重复出现的问题。
一种可能的解释是向量试图立即分配给定的长度。

由于负值被强制转换为 uint,因此负值会自动转换为非常大的正值。这会导致 Vector 尝试分配过多内存(大约 4GB),从而立即崩溃。

如果将负值传递给数组的长度,则不会发生任何事情,因为显然它不会尝试分配长度。但您可以检查该值并发现它是一个非常大的正数。

这个解释纯属猜想,我没有在任何地方听到过。但它与as语义和感叹号的含义是一致的。

这就是说,我已经在整个代码库中搜索了 setter“length”的使用,但找不到它与 Vector 一起使用。尽管如此,我们仍然经常遇到此类崩溃 - 其中一些是由实际的高内存消耗(可能是泄漏)引起的,但其他时候它只是在内存相对较低时发生。

我无法解释。除了setter“长度”之外,也许还有其他操作可能会导致分配大量内存?

I have also noted the issue repeating when passing negative values to length of a Vector.
A possible explanation would be that the vector tries to allocate the length its been given immediately.

Since the negative value is being forced into a uint, the negative value autumatically translates to a very large positive value. this causes the Vector to attempt allocation of too much memory (about 4GB) and hence the immediate crash.

if you pass a negative value to the length of an Array nothing happens, because apparently it does not attempt to allocate the length. but you can inspect the value and see that it is a very large positive number.

This explanattion is pure conjecture, I did not hear it anywhere. but it is consistent with as semantics and the meaning of the exclamation mark.

This said, I have search our entire code base for the use of the setter "length" and could not find it used with a Vector. Still, we are experiencing very often crashes of this sort - some of them are caused by actual high memory consumption (probably leaks) but other times it just happens when the memory is relatively low.

I cannot explain it. perhaps there are other operations that can potentially lead to allocation of large amounts of memory other the the setter "lenght"?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文