Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在视图(滚动视图)上绘图会在ipad设备中消耗太多内存_Iphone_Ios4 - Fatal编程技术网

Iphone 在视图(滚动视图)上绘图会在ipad设备中消耗太多内存

Iphone 在视图(滚动视图)上绘图会在ipad设备中消耗太多内存,iphone,ios4,Iphone,Ios4,我在scrollview上添加了一个视图(maxZoomScale=1,minZoomScale=0.25)。图幅的大小约为(20002000)。我已经编写了在视图的drawRect中绘制路径(大约8000个点)的代码。每当scrollview的缩放结束时,我都会标记视图的图形。现在,每次调用drawRect都会消耗大量内存(~16MB)。由于此原因,iPad会重新启动并发出内存警告。 请任何人帮我解决这个问题…调查CATileLayer。您不应绘制2000x2000视图;那里的大部分内容都在屏

我在scrollview上添加了一个视图(maxZoomScale=1,minZoomScale=0.25)。图幅的大小约为(20002000)。我已经编写了在视图的drawRect中绘制路径(大约8000个点)的代码。每当scrollview的缩放结束时,我都会标记视图的图形。现在,每次调用drawRect都会消耗大量内存(~16MB)。由于此原因,iPad会重新启动并发出内存警告。
请任何人帮我解决这个问题…

调查CATileLayer。您不应绘制2000x2000视图;那里的大部分内容都在屏幕外。

我希望在放大/缩小时平滑地绘制路径。CATiledLayer使其可以部分绘制。贴图使用平铺,虽然您可以看到不连续性,但它确实不是世界末日。16MB不是很多;你肯定能够在不崩溃的情况下使用那么多。试着用仪器看看你实际分配了多少。如果您在
-drawRect:
中使用临时对象,则可以使用NSAutoreleasePool来改进内存管理。