我需要将大量来自服务器的数据存储到内存中,因此我必须根据我可以安全使用多少内存来编写我的内存存储算法,而无需挂起或崩溃浏览器。Flash电影可以在浏览器中使用的最大内存是多少?
是否有像1MB或100MB这样的安全大小限制,全局变量的内容不应超过?
我需要将大量来自服务器的数据存储到内存中,因此我必须根据我可以安全使用多少内存来编写我的内存存储算法,而无需挂起或崩溃浏览器。Flash电影可以在浏览器中使用的最大内存是多少?
是否有像1MB或100MB这样的安全大小限制,全局变量的内容不应超过?
你可以检查你使用多少内存有:
trace("MEMORY USAGE: " + (System.totalMemory/1048576) + "MB");
使用此功能可以帮助保持查找内存泄漏和改善你的垃圾收集的代码。
在actionScript 2中,他们说你应该清除和删除动态创建的对象以获得最快的GC。
myArray[0] = "value";
myArray[0] = null; // to Garbage Collect
delete myArray[0];
没有硬性和快速的限制,但对于针对中低端机器的Flash游戏开发,我们发现保持内存占用低于500MB可以显着减少随机崩溃。 :-D在看到内存容量限制之前,您可能会看到其他可扩展性限制(处理能力,单线程)的方式,除非您在本地或程序上(例如,使用生成的位图)生成大量数据。
我始终建议切换到AS3,但我不认为内存管理将成为AS2的显示屏。
我正在写AS2,顺便说一下,虽然如果需要更好的内存管理,我可以切换到AS3。 – 2009-05-05 09:37:27