![](/img/trans.png)
[英]NSString drawInRect:withFont:lineBreakMode: thread safety
[英]How to improve the performance of [NSString drawInRect:withFont]?
我正在为微博客服务实现一个应用程序,类似于Twitter。 我已经做了一切提高性能的事情,包括使用drawRect
而不是基于子视图的体系结构。
使用Instrument运行应用程序后,我发现[NSString drawInRect:withFont]
占用了50%以上的时间,尤其是在第一次滚动时,此后我可以非常流畅地滚动。 尽管[NSString drawInRect:withFont]
仍然占据大部分时间,但是它更加平滑,并且没有明显的滞后。
我不知道图层是否已缓存,但是有了断点和NSLog,我可以看到仍然调用drawRect
和drawInRect
。 那为什么只在第一次滚动时滞后呢?
Twitter的官方应用程序确实具有出色的性能。 有没有内部人士可以告诉我一些实用技巧?
实际上,Twitter应用程序背后的开发人员Loren Bricher就此写了一篇博客文章。
您可以在这里查看: http : //blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview
(Tweetie是Twitter官方Twitter应用的名称,以防万一您不知道。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.