【发布时间】:2011-08-17 20:13:22
【问题描述】:
我有一个方法,它连接到 HTTP 服务器并通过 XMLRPC 请求数据结构列表,然后为每个数据结构获取属性列表和这些属性的值。它是使用嵌套的for each 循环实现的。
问题在于它一次加载大量数据,并消耗大量 CPU(超过 100%)从服务器读取响应并解析 XML。
如果我用 C 语言编写程序,我会在循环末尾插入一个 usleep(),以便在尝试加载更多数据并减少 CPU 使用率之前等待。 Flex 中的等价物是什么?
【问题讨论】:
-
与其尝试错开处理,不如寻求优化它。例如,for each 循环是最慢的 for 循环。您还可以切换到具有自动对象转换的 AMF 格式,我怀疑这可能有助于解决所有问题 b/c 二进制 AMF 格式导致比 XML 更快的处理。
-
AMF一定会给你最大的利润。我将 Census 应用程序的行数增加到 100.000 行,解析时间为 0.15 秒。我将补充一点,服务器端的序列化速度可能因所选技术而异。我猜它最适合 Java (BlazeDS)。
-
看看这篇文章,有人问过并回答了类似的问题。 stackoverflow.com/questions/560474/…
-
@Jacob,谢谢我在搜索中没有发现这个问题。我不介意 UI 没有响应,因为这是来自本地 XMLRPC 服务的“项目加载”操作。听起来切换到 AMF 并在 Timer 上提取数据是可行的方法。
标签: apache-flex optimization adobe