我有一个性能问题,如果我加载一个JPG(是的,我不能提供任何PNG文件格式的应用程序)图像从[UIImage imageWithContentsOfFile: ]
磁盘,存储UIImage在全局NSCache中使用缓存图像[UITableViewCell drawRect: ]
。这种方法比用户[UIImage imagedNamed:]
慢得多。UIImage + NSCache与[UIImage imageNamed:]
如果已经分析用仪器的性能“时间档案”,正如你可以在第一个图片中看到的JPEG在[DBArtistTableViewCell drawRect:]
总是解码。 在第二张图片[UIImage imageNamed:]
解决方案中,JPG不会解压。
NSCache
+ UIImage
解决方案:
[UIImage imageNamed]
解决方案
简短的问题是:为什么是UIImage
+ NSCache
解决方案比[UIImage imageNamed:]
解决方案慢,什么是[UIImage imageNamed:]
法魔(是的我知道缓存,但其他的魔术是什么)?
THX的帮助。
有没有办法通过自己解压从[UIImage的imageWithContentsOfFile]的UIImage的? – CarlJ 2012-02-17 11:59:46
即使世界在这个问题上的意见,可以帮助您进行一些讨论:http://stackoverflow.com/questions/1815476/cgimage-uiimage-lazily-loading-on-ui-thread-causes-stutter – ikuramedia 2012-02-18 03:55:17