0

所以,简而言之,我的问题几乎是标题,我有我的第一个大项目,现在在一个大文件中的 11k 行代码之后,我在尝试了我的闪存一段时间后遇到了内存问题,慢慢地它变慢了直到我什么都做不了,即使我总是尽可能清除容器并在不需要时删除侦听器。

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

oop 逻辑在这一点上感觉有点太大了,无法尝试理解,到目前为止,程序对我来说更加自然......

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

4

3 回答 3

2

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

只需应用一些逻辑来分组和分离事物。此外,重复代码行的可能性也非常高。

所以首先,开始对行进行分组。将它们放在不同的函数中并在 main 中调用它们。

在你把它全部归结为块之后,你可以开始考虑将函数分组到类中。但至少第一步应该解决你的问题。

于 2013-03-18T08:25:50.427 回答
0

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

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

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

最后,像使用 C 一样使用 as3 会在许多其他方面长期伤害您。所以请学习 OOP 并将你的单体代码分解为对象。

于 2013-03-18T08:14:29.597 回答
0

好吧,毕竟称这是一种不好的做法,您可能不会给 VM(虚拟机)一个喘息的机会……我的意思是,如果您的程序每次都像轮询状态那样循环忙碌,那么 VM 很可能找不到垃圾收集的机会。这是一场灾难。

因此,如果您正在这样做,请不要轮询事件。尝试摆脱大过程(所有的先知:))并尝试另一种体系结构,在需要时由事件处理程序调用中央监视器过程。

然后,当您安顿下来时,出售您的产品并致富。尽快学习 oop :)

于 2013-03-18T08:34:36.587 回答