BlazeDS因大量对象而变慢

时间:2013-01-22 20:23:10

标签: flex air blazeds amf

我正在使用Flex开发移动应用程序,并且使用BlazeDS遇到了一些问题。有些用户从我的服务器请求(相对)相当大量的数据,大约2秒后返回。数据由一些非常简单的对象(客户端,其中包含名称/电话/电子邮件,以及一些其他属性,其中一些是具有更多属性的其他嵌套对象)组成。最大的请求包含不超过10,000个这些对象,其大小只有几MB。我遇到的问题是,只要服务器发送响应,移动屏幕就会在处理数据时锁定。对于10,000个对象,这可能需要几分钟,有时甚至会使设备崩溃,并且最多使用户在整个时间内都处于冻结屏幕。对于普通用户,冻结屏幕至少为2-5秒。这不仅是功能有限的设备的问题。这也发生在我的电脑上(i5处理器,8GB RAM)。据我所知,这种停机时间发生在设备收到响应和我可以访问数据之间。在以下RemoteObject结果处理程序的第一行上设置断点使屏幕在到达断点之前锁定:

protected function myResultHandler(event:ResultEvent):void
{
    var result:ArrayCollection = event.result as ArrayCollection;
    //Do other stuff here
}

我对BlazeDS和AMF知之甚少,所以我唯一的猜测就是在设备上创建对象时会发生冻结。有什么方法可以加速这个过程吗?我通常希望看到这样的表现真的很差吗?任何帮助将不胜感激。

0 个答案:

没有答案