|
|
1
3
假设您使用的是NSXMLParser的initWithContentsOfURL:,这可能是问题的一部分。似乎是下载URL的全部内容,然后将其交给解析器一次解析所有内容。
另一种方法是使用NSURLConnection,在NSURLConnection的委托的connection:didReceiveData:method中创建一个新的NSXMLParser,并在每次传入数据时重新解析数据。您必须编写一些额外的代码来忽略多次重新解析文件开头的额外事件。 这似乎比获取其他库并对其进行调整要复杂得多,但可能不是,这取决于您如何处理表数据的下游创建。 |
|
|
2
1
如果NSMutableArray是UITableView的底层数据结构,则应尝试 使用initWithContentsOfURL。服务器上的格式需要使用易于生成的Apple“plist”xml。我猜如果cocoa已经获得了 处理xml使用它们比创建自己的xml解析器实例更快。 |
|
3
0
这也意味着数据压缩会适得其反。 对于非常少量的XML,速度问题可能与连接延迟有关。 因此,另一个重要因素可能是DNS查找。您可以事先自己做一次,然后缓存IP,也许只在连接到服务器失败时重新检查。。。 |
|
|
4
0
因为您的xml文件非常小(我想大概只有8k左右),所以我认为您在解析它们时不会看到很大的性能提升。您可以使用异步NSURLConnection来实现这一点,但我看不出它对小文件有多大帮助。您是否考虑过在服务器上生成XML文件所需的时间?您是使用PHP创建XML还是访问静态文件?出于测试目的,访问静态文件并查看它们之间的比较可能会很有趣。 不久前我遇到了这样的问题,结果发现我服务器上的mySQL数据库速度很慢,这与我的应用程序毫无关系。 另外,在下载和解析XML文档时,使用工具查看分配的内存量。一些XML解析器将整个XML文档加载到内存中,然后允许您随机索引到文档的元素中,而其他解析器只提供逐步解析。对于像iPhone这样的有限设备,循序渐进的方法要好得多,这可能是您正在使用的,但快速查看内存消耗情况应该会告诉您。 |
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
routern · 如何组合contextMenu和圆角矩形? 1 年前 |
|
|
DevHome98 · 3D触摸不适用于设备swift 2 年前 |
|
|
dunoiww · 从全屏返回时如何触发onAppear 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 2 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |
|
|
Community wiki · 有效的IPhone编程技术[关闭] 3 年前 |