liuzhiyi1992 / ZYCornerRadius

一句代码,圆角风雨无阻。A Category to make cornerRadius for UIImageView have no Offscreen-Rendered, be more efficiency.
http://zyden.vicp.cc/zycornerradius/
1.45k stars 230 forks source link

commit #10

Closed immrss closed 8 years ago

immrss commented 8 years ago

直接在分类里覆盖dealloc是不是不太好?pull 中对dealloc做了method swizzling。

liuzhiyi1992 commented 8 years ago

的确这里疏忽了,麻烦可以帮忙把临时文件的更改去掉吗(除了.m之外)?

还有个问题,这里swizzling也不可以写在load里,不然所有的UIImageView的dealloc()都会换掉,可以改成写在对image addObserver的相同位置

immrss commented 8 years ago

好的👌还有一个小的建议是,如果圆角是应用在tableview的列表中,可以把drawimage放到子线程做,然后会主线程给imageview赋值,如果在加入圆角图片的缓存的话,这样滚动起来性能应该比较好,虽然延伸出来的东西比较多,但是这种场景还是挺多见得,不知道可行不。

liuzhiyi1992 commented 8 years ago

旧版本就是异步做切角操作的,这个方案有两个问题,体验:tableView刷快了会闪;性能:这套切角操作性能需求还没有到能跨越一个屏幕硬件刷新周期的程度,放主线程不会掉帧。反而放去后台线程时,如果页面内圆角个数过多,会因为线程数量大和切换成本的原因导致内存增长。

处理后缓存的话,我尝试过用图片字节码的一部分做Key用NSCache做缓存,性能不理想,朋友有什么其他的做缓存的思路吗?

liuzhiyi1992 commented 8 years ago

这个dealloc问题有空可否create一个新的pull request?我merge下 @immrss