UIView 后面的地图问题,类似于 FourSquare 场地细节

Posted

技术标签:

【中文标题】UIView 后面的地图问题,类似于 FourSquare 场地细节【英文标题】:Issues with map behind UIView, similar to FourSquare venue detail 【发布时间】:2013-04-20 18:19:52 【问题描述】:

我目前正在使用来自@yonel 的this excellent solution 来制作类似于FourSquare 场地详细信息页面的内容。在我的故事板中,我有这个:

问题是:因为滚动有点滞后,当我快速滚动时,我会收到“收到内存警告”。我的控制台中的消息。奇怪的是,如果我删除UIView(就在Map View 下方)内的所有标签和按钮,一切正常。

知道可能出了什么问题吗?

【问题讨论】:

【参考方案1】:

正如上面的海报所提到的,如果没有实际看到您项目的一些代码,很难给您任何权威信息 - 我知道您已经找到了一个可行的解决方案。但是,如果其他用户发现此问题的回答类似:

错误消息的性质表明您的应用程序中可能存在某种内存泄漏。开始调试此类问题的最佳方法是使用Instruments.app 中的内存分析工具。有关如何执行此操作的详细信息,请查看来自 Apple 开发者网站的 this link。

特别是如果某些在屏幕上或在屏幕外滚动的项目具有与之相关的图形信息(背景图像等) - 销毁屏幕外的内容可能有助于提高性能。当然,当有问题的项目重新出现在屏幕上时,您必须重新创建它们。

如果上述方法没有帮助,请查看以下一些问题/答案,这些问题/答案有助于深入了解发生此错误的其他问题。也许您的问题与/曾经相关:

Unknown reason to receive Memory Warning
    打开的图形太多 不使用延迟加载
Iphone App crashing due to Received memory warning even if i am releasing 检查 Zombies 是否未打开(在低内存设备中崩溃更快) I received memory warning and my app crashed. Does it kill autorelease objects? 对象及其范围的分配/释放不当

【讨论】:

即使我用另一个库解决了我的问题,我还是用你的解决方案对其进行了测试并解决了老问题。还是谢谢。 太棒了。 :) 很高兴听到这项研究有所帮助,并感谢您的赏金!【参考方案2】:

不幸的是,经过几天的搜索,我找不到解决方案。但我设法使用UITableView 找到了一些东西来替换我所拥有的东西。

我为 UITableView 找到了这个 ParallelView:https://github.com/zhigang1992/ZGParallelView

感谢大家的回答。

【讨论】:

【参考方案3】:

我不熟悉 Foursquare 中的 Venue Detail 视图,但是我认为如果不看一些代码我们就无法帮助您。

一目了然,我注意到您还没有展开另一个视图。也许那里有一些沉重的东西,但我再次认为您需要为这些视图显示一些代码,因为您更有可能执行一些内存密集型任务,这就是导致问题的原因。

如果你也可以使用 scrollViewDidScroll 方法的话最好:) 一旦你发布了一些东西,我会尽力看看。或者,如果您不想在此处公开发布,也可以直接与我联系并提供示例代码。

【讨论】:

【参考方案4】:

收到内存警告,当我在设备中测试时,此警告显示在控制台一次。但是当我关闭空闲应用程序时,错误消失了。所以尝试删除在后台运行的应用程序,然后重试。如果存在,我认为问题是,当您使用滚动时,地图图块或其他东西会出现某种内存泄漏。 使用仪器并分析是否存在内存泄漏。

这可能对你有帮助

memory-management-in-objective-c-tutorial

【讨论】:

以上是关于UIView 后面的地图问题,类似于 FourSquare 场地细节的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 UIView 上的触摸并检测单击哪个 UIView 类似于 UIButton 上的触摸?

iPhone - 行为类似于 UIViewController 的 UIView

怎么用html+js写一个div,当点击地图的标注,弹出类似于这样的div

类似于 UIRefreshControl 将隐藏的 UIView 添加到 UITableView

如何在 UIView 中嵌入表格视图,类似于在 iBooks 中用于字体选择的方式?

如何使用子视图的延迟/动态加载实现自定义 UIView,类似于 UITableView