优化UITableView性能
在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、 Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。 然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。 实际上只要针对性地优化一下,这种问题就不会有了。有兴趣的可以看看 LazyTableImages 这个官方的例子程序,虽然也要从网上下载图片并显示,但滚动时丝毫不卡。 下面就说说我对UITableView的了解。不过由于我也是初学者,或许会说错或遗漏一些,因此仅供参考。 首先说下UITableView的原理。有兴趣的可以看看 《About Table Views in iOS-Based Applications》 。 UITableView是UIScrollView的子类,因此它可以自动响应滚动事件(一般为上下滚动)。 它 内部包含0到多个UITableViewCell对象,每个table cell展示各自的内容。当新cell需要被显示时,就会调用tableView:cellForRowAtIndexPath:方法来获取或创建一个 cell;而不可视时,它又会被释放。由此可见