Я занимаюсь с IExternalizable
, но я заметил некоторое неожиданное поведение. У меня есть этот класс:Flex: Неожиданная утечка с помощью RemoteObject + IExternalizable?
public function readExternal(input:IDataInput):void {
input.readObject();
input.readObject();
input.readObject();
}
public function writeExternal(output:IDataOutput):void {
output.writeObject("first string");
output.writeObject(424242);
output.writeObject("second string");
}
Но когда я пытаюсь сериализации этого класса, используя AMF и отправить его на удаленный сервер (через RemoteObject
), Чарльз показывает мне, что запрос выглядит следующим образом:
unexpected result http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png
Но кажется неправильным, что мой сериализованный объект просачивается в остальную часть запроса.
Итак, что я делаю неправильно? Есть ли какая-то часть документации, которую я пропустил?
В чем преимущество использования «правильных» методов сериализации? И если вы собираетесь заявлять, что «это более эффективно», можете ли вы предоставить доказательства для поддержки претензии? –
Кроме того, какие преимущества сжатия я теряю с помощью IExternalizable? –
Спасибо за отзыв о Чарльзу. Похоже, благодаря методу «IExternalizable» Чарльз не знает, где останавливается объект, и остальная часть запроса продолжается. –