使用.NET XmlSerializer类时,有没有其他人在MonoTouch中经历过慢反序列化?

时间:2011-03-25 15:47:46

标签: .net ios serialization xamarin.ios xmlserializer

我有一个MonoTouch iOS应用程序,我正在从Web服务反序列化大量人员。 XML非常简单:根节点是人员列表,每个人只有5个属性。这个名单相当大......大约有1000人。

当我在iPhone模拟器中运行反序列化时,操作只需要大约一秒钟。当我在iPhone 3GS上运行时,操作大约需要13秒。当然,sim运行x86代码,应用程序运行ARM代码。此外,手机中的可用马力比SIM卡要少。但它真的会有太大的不同吗?

有没有其他人使用MonoTouch进行慢速.NET序列化?有谁知道原因?如果是这样,你有没有办法处理它?也许线程化或者可能是不同的序列化库?

1 个答案:

答案 0 :(得分:6)

是的,可能需要很长时间。在模拟器上,我们可以jit代码,并构建专门的反序列化器。在设备上,必须解释整个反序列化树。尝试使用二进制序列化,它应该更好,但最好的办法是将对象模型移动到sqlite。