我必须处理XML,现在使用NSInputStream会破坏我的代码,因为我需要重写很多东西。
是将整个文件放入内存,还是只读取为getBytes方法请求的内容?
我使用NSData作为NSXMLParser的输入参数,我想知道有关于这个的文档吗?
苹果公司的文档中没有关于NSData的dataWithContentsOfFile内部结构或其实现的文档。
发布于 2012-11-03 18:57:37
在为NSData分配NSXMALParser时,这意味着为该对象创建数据缓冲区,而每个对象都占用内存(RAM),因为iPhone IOS非常了解如何使用虚拟内存。当从文件读取整个数据时,它占用对象数据,如果数据大小超过几个(取决于OS algo)内存页,则对象使用虚拟内存管理。数据对象也可以包装预先存在的数据,而不管数据是如何分配的。该对象不包含有关数据本身的信息(例如其类型);决定如何使用数据的责任在于客户端。特别是,当在大端机器和小终端机器之间分发时,它将不会处理字节顺序交换.
我建议您再读一遍ref/doc/uid/10000037i与iOS相关的链接。但是是的,有一件事和你有关,….in IOS有对象所有者的类型。一个是用户,另一个是IOS对象。如果您创建NSData,这意味着您要分配内存缓冲区并为该可验证的对象分配数据指针,但此时整个数据都驻留在内存中。这是我们的假设,但在这段时间内,IOS知道如何处理这种情况。IOS使用实际内存技术来处理数据页。
https://stackoverflow.com/questions/13208619
复制相似问题