AsyncTask also in flash?



我开发了一个27mb大小的游戏,我把它加载到device &它的性能会下降,有时它会挂掉设备。在这个游戏中使用了很多媒体资源。如果我在android中制作,那么我将使用Asynctask处理,并在后台制作一些进程,还可以进行内存管理,但在这里我使用AS3Adobe Air在flash中开发游戏。所以我的问题是:是否有任何方法像asynTask是留在flash或任何性能相关的东西,我采取预防措施,以防止性能不佳?

谢谢
尼克

你应该考虑使用Flash 11和AIR 3——新版本允许执行本地代码,这样你就可以使用Flash和AIR来制作UI和动画,同时你可以异步执行一些本地线程代码,否则这些代码会占用帧与帧之间的时间。在本机代码中,您可以拥有与UI无关的所有计算-例如AI逻辑。

Lee Brimelow在他的博客上提供了详细的教程- Android原生扩展的两部分教程

据我所知,只有两个线程网络线程和线程做所有其他动作。Asynctask是关于UI线程的最佳使用,所以因为在flash/AIR中没有单独的UI线程,所以可能没有类似的技巧。至于其他方法,恐怕没有一个通用的答案。

如果你想异步加载资源,你应该使用URLLoader和Loader类来加载资源。它们将在后台加载内容,并在完成时抛出一个事件(Event. complete)。

这里有一些关于如何使用PixelBender在一个单独的线程中做诸如数字运算之类的事情的链接,我不确定它是否支持Android,所以你必须进一步研究:

http://blogs.adobe.com/aharui/2008/01/threads_in_actionscript_3.html

Stack Overflow问题,Ascension Systems给出的答案:

Flash并行编程

您应该阅读为Flash平台优化性能help.adobe.com/en_US/as3/mobile/flashplatform_optimizing_content.pdf

最新更新