最近做的一个项目需要使用[view.layer renderInContext:context]方法把view绘到画布上,功能实现后发现,只要循环多画几个view 内存就会爆掉。。检测了下内存使用情况,发现是这个方法导致内存直线上升,然后爆掉。Google后发现解决办法如下:
在[view.layer renderInContext:context]之后加上一句:view.layer.contents = nil; 就可以解决,据stackoverflow里的人说这样是用来清除 layer绘过后的缓存。当然了 循环里放上一个NSAutoReleasePool也是需要的。。。