使用程序逻辑运行到as3的内存问题,任何提示如何防止

时间:2013-03-18 08:00:38

标签: actionscript-3 flash

所以,简而言之,我的问题几乎都在标题中,我有我的第一个大项目,现在在一个大文件中的11k行代码后,我遇到了内存问题,一段时间后我尝试了我的闪存,慢慢地它慢下来,直到我无法做任何事情,即使我总是在我可以清除容器并在不需要时移除听众。

程序性的,对于那些不知道的人,我拥有大的主要功能和数百个其他功能。

op逻辑在这一点上尝试和理解有点太大了,到目前为止程序对我来说更自然......

如何防止内存耗尽的任何提示?

3 个答案:

答案 0 :(得分:2)

你真的不需要任何面向对象的编程来分解它。

只需应用一些逻辑,即可以分组和放置的位置。分开的事情。此外,重复代码行的可能性也非常高。

首先,开始分组线。把它们放在不同的功能中称他们为主。

在将所有内容整理到块之后,您可以开始考虑将函数分组到类中。但至少第一步应该会解决你的问题。

答案 1 :(得分:0)

如果不使用面向对象的编程,很难解决您的问题。顺便说一句,C编码风格通常被称为“命令式编程”......只是你知道。

坏消息是,一个文件中的11k行代码意味着所有代码都在一个翻译单元内,因此您编码的所有内容始终在内存中

如果将其分解为类,则会根据需求创建和销毁单个类实例(对象),从而占用尽可能多的内存(增长和缩小,而不是静态)。

最后,使用as3就像它是C一样,会在很长一段时间内以其他许多方式伤害你。因此,请学习OOP并将单片代码分解为对象。

答案 2 :(得分:0)

毕竟这是一个不好的做法,你可能不会让VM(虚拟机)有机会呼吸......我的意思是如果你的程序在每次循环中都很忙,就像轮询状态一样,那么VM很有可能找不到垃圾收集的机会。这是一场灾难。

因此,如果您正在进行,请不要轮询事件。尝试摆脱盛大程序(所有人的观察:))并尝试另一种架构,其中中央监控程序被调用由事件处理程序在需要时

然后当你安顿下来,卖掉你的产品并致富。学习oop a.s.a.p. :)