如何在CATiledLayer上达到最大缩放级别时阻止iOS内存不足?

时间:2016-05-12 03:55:08

标签: ios core-graphics catiledlayer

我在UIScrollView中有一个CATiledLayer。当我尽可能地捏合放大时,“其他过程”所占用的内存会瞬间变得非常高。有时候jetsam会杀死我的应用程序,有时我的iPad会自动重启。

当我松开手指时,大量内存会释放出来。如果我只是非常缓慢地放大,它会应对。最糟糕的情况是我把两根手指放在屏幕上并以适中的速度稳稳地移动它们。

休息时和捏期间的比较:

Standard During pinch

对于上下文,我正在呈现PDF内容,除此问题外,它还可以正常工作。通常我使用4级细节和1024x1024瓦片。

我仍然可以使用CATiledLayer上的所有默认值一致地重现问题,以获得平铺大小,细节和偏差。我也尝试不将任何内容渲染到图块中(只是将它们填充为白色),问题也以同样的方式发生。

有谁知道如何防止这种“其他进程”内存积聚如此之多?

0 个答案:

没有答案