我有一个 MonoTouch iOS 应用程序,我在其中反序列化来自 Web 服务的大量人员列表。 XML 非常简单:根节点是一个人列表,每个人只有 5 个属性。这个名单相当大……大约有 1000 人。
当我在iPhone模拟器中运行反序列化时,操作只需要大约一秒钟。当我在 iPhone 3GS 上运行它时,操作大约需要 13 秒。当然,SIM 运行的是 x86 代码,而应用程序运行的是 ARM 代码。另外,手机中的可用马力比SIM卡中的要少。但这真的会有那么大的不同吗???
还有其他人经历过 MonoTouch .NET 序列化缓慢的情况吗?有谁知道原因吗?如果有的话,你有没有找到应对的方法呢?也许是线程或者可能是不同的序列化库?
最佳答案
是的,可能需要那么长时间。在模拟器上,我们可以即时编码,并构建专门的反序列化器。在设备上,必须解释整个反序列化树。尝试使用二进制序列化,它应该更好,但最好的选择是将对象模型移动到 sqlite。
关于.net - 在使用 .NET XmlSerializer 类时,是否有其他人在 MonoTouch 中经历过缓慢的反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434807/