我不会放弃使用远程处理。远程处理的性能将比 JSON 好得多。请记住,ActionScript 没有解码 JSON 的方法,因此您需要使用一个 AS 库,该库比播放器内置的任何东西都慢。使用 XML 比使用 JSON 更好。
您应该能够通过将特定属性标记为瞬态来根据需要排除它们。ActionScript 有 [Transient] 元数据,这个想法来自 Java。我们用于远程处理的 C# 库具有瞬态支持。我敢肯定 BlazeDS 也是如此。
使用正确的工具可以轻松进行调试。你应该得到查尔斯。它提供了非常好的 AMF 请求和响应消息视图(假设您使用的是 HTTP 而不是 RTMP,我不知道 RTMP 调试)。
http://www.charlesproxy.com/
您似乎也在 BlazeDS 和任何非远程处理之间进行选择。你有更多的选择。BlazeDS 只是 Adobe 提供的一种远程实现。他们也有一个商业的。还有许多可用的开源远程处理项目。我们为 C# 使用了一种很棒的方法,称为 Fluorine。开源 Java 选项是 Red5 和 OpenAMF,但我认为还有其他选项。
http://red5.org/
http://openamf.com/
RTMP 和 HTTP 远程处理之间也有区别。您可以通过这两种协议中的任何一种将数据输入 Flex,并且每种协议都有其优点/缺点。我个人更喜欢 HTTP 远程处理,除非您绝对需要 RTMP 提供的功能(推送、流式传输)。HTTP 将更容易调试并且不应该有负载平衡器的问题——它只是内容恰好是二进制的 HTTP 调用。