在我的应用程序中,我使用了 arcgis sdk。我有 3 个不同的 map ,所以我使用了 3 个平铺 map 服务层。而且我还有一个图形层来显示 map 上选定特定区域的符号。我的应用程序;首先使用凭据连接服务,然后将图层添加到 map View 。到目前为止没有问题。加载所有图层后,我开始使用 AGSQueryTask 和 AGSIdentify 任务进行一些查询操作。问题从这里开始。调试器给我“收到内存警告。级别=1”。我继续进行缩放/平移和额外的查询操作。过了一会儿,我的应用程序崩溃了,没有出现任何错误。我检查了我的代码,用谷歌搜索了我的问题,在 arcgis 论坛中四处张望,但是我没有找到解决方案和很好的解释。我用 1 张 map 而不是 3 张 map 尝试了我的应用程序,但警告和崩溃并没有消失。我也再次处理图层 View 的隐藏属性,但没有任何改进。
毕竟,有没有人知道我的内存问题的解决方案、解释或假设?
附言由于 stackoverflow,我还使用 nszombienabled 和 guard malloc 调试了我的代码:) 在这个过程中,我遇到了“:CGBitmapContextInfoCreate:无法为位图数据分配 .. 字节”。我的内存问题是否与此错误有关?
提前致谢。
最佳答案
这听起来真的像是内存泄漏或未释放您的应用不再使用的内存。
没有通用的解决方案,因为这些问题的起因可能在任何地方和任何地方。
你可以做的是:
确保您已在类中定义了
didReceiveMemoryWarning
方法,并尝试释放未使用的内存;在泄漏和内存分配分析工具下运行您的应用,看看您能对他们向您报告的内容做些什么;
如果您没有内存泄漏,请尝试使用 snapshot analysis寻找废弃的内存。
In this process I came across ": CGBitmapContextInfoCreate: unable to allocate .. bytes for bitmap data". Is my memory problem related to this error?
如果你填满了内存,分配调用可能会失败......这是一个结果,而不是一个原因。
关于ios - ARCGIS iOS - map 图层内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12687740/