我有一个UITableView
,它为UIView
和backgroundView
属性使用selectedBackgroundView
子类。根据位置(顶部/底部圆角),选择状态和一些自定义细节附件,视图会重新绘制。
这可能是一项昂贵的操作,所以我正在考虑使用NSCache
来缓存一些绘制的视图。我目前正在考虑不同的方法:
UIView
不符合NSCopying
协议 - >失败)UIImage
表示形式,并将其分配到UIImageView
NSCache
或根本不使用自定义绘图?那么iOS性能调谐器,您更喜欢哪种方式?
提前谢谢!答案 0 :(得分:0)
不要过早优化!
剪切视图并不昂贵,我在商店中有几个应用程序以60FPS滚动,同时使用drawRect和roundRect-Mask自定义绘制背景。
创建selectedBackgroundView的问题更少,因为用户主动执行任务(点击),如果生成视图的延迟时间为50毫秒,则没有人会注意到。
此外,NSCache是线程保存,所以它比你想要的更慢,更有可能是开销。
关于“视图的副本”,我认为没有任何理由要你这样做。