- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MKMapView
实例,我已以编程方式将其添加到 UIView
中。作为 UI 的一部分,用户可以循环浏览地址列表,并且当用户浏览地址时, map View 会更新以显示每个地址的正确 map 。我创建了一次 map View ,然后简单地使用 setRegion:animated
更改它显示的内容。
问题是,每次更改映射以显示新地址时,我的程序的内存使用量都会增加 200K-500K(如 Instruments 中的内存监视器所报告)。根据对象分配,似乎每次都会发生大量 1.0K Malloc,并且这些 1.0K 分配的“扩展详细信息” Pane 显示负责调用者是 Convert_image_data,并且“扩展详细信息” Pane 显示这是 [MKMapTileView drawLayer:inContext:]
的结果。因此,在我看来,内存使用可能是由于 MKMapView 没有释放它每次重绘 map 所用的内存。事实上,当我根本不显示 map (甚至不将其添加为主 UIView 的 subview )但仍然循环访问地址(这会更改各种 UILabels 和其他显示的信息)时,应用程序的内存使用量确实如此不增加。如果我添加 map View 但从未使用 setRegion: 更新它,则更改为新地址时内存也不会增加。
还有一点信息:如果我转到一个新地址(因此要求 map 显示新地址),内存会如上所述跳转。但是,如果我返回到已显示的地址,则本地图使用旧地址重绘时,内存不会跳转。此外,这种情况也会发生在 3.2 的 iPad(真实设备)和 3.1.2 的 iPhone(同样是真实设备)上。
以下是我初始化 MKMapView 的方法(我只执行一次):
CGRect mapFrame;
mapFrame.origin.y = 460; // yes, magic numbers. just for testing.
mapFrame.origin.x = 0;
mapFrame.size.height = 500;
mapFrame.size.width = 768;
mapView = [[MKMapView alloc] initWithFrame:mapFrame];
mapView.delegate = self;
[self.view insertSubview:mapView atIndex:0];
为了响应用户选择的地址,我设置了 map ,如下所示:
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta=kStreetMapSpan; // 0.003
span.longitudeDelta=kStreetMapSpan; // 0.003
region.center = address.coords; // coords is CLLocationCoordinate2D
region.span = span;
mapView.region.span = span;
[mapView setRegion:region animated:NO];
有什么想法吗?我已经在网上搜索过,但没有看到提到这个问题,而且我已经达到了我的仪器知识的极限。感谢您的任何想法。
最佳答案
当您循环回到原始地址时会发生什么?还会增加吗?
我的想法是,它可能会缓存 map 数据,因此它会自然增加,因为它将其他位置保留在内存中。
关于iphone - MKMapView 内存使用量随着 setRegion : calls 的增长而失控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901027/
我希望有人能解释为什么我的应用程序在加载时使用不同数量的 RAM。我说的是直接使用 exe 的编译版本。这是一个非常基本的应用程序,在应用程序的启动中没有条件分支。然而,每次我启动它时,RAM 量都在
我有一个 inode 使用率为 100% 的磁盘驱动器(使用 df -i 命令)。但是在大量删除文件后,使用率仍然是 100%。 那么正确的做法是什么? 磁盘空间使用量较少的磁盘驱动器怎么可能有Ino
假设我与分支有一个智能合约,其中每个分支都有不同数量的操作。 if (someCondition) { // do operations costing 10 gas } else { //d
是否有一种工具可以在提交到 NEAR 网络之前估算合约调用将产生多少 gas? 最佳答案 目前最好的估计是用runtime-standalone ,它可以处理交易而不必担心共识/网络。这意味着您可以创
我正在使用最新的 SDK 开发适用于 Windows Azure 的应用程序。 目前我正在使用缓存实现 session 提供程序,但模拟器完全不成比例: 缓存被实现为“非常小的”辅助角色(最大 768
我正在为我的 Logstash RAM 问题寻找答案,因为它几乎是 100%。我为它做了很多搜索,但他们没有为我工作。下面的代码是我的 logstash.conf 文件。我认为它需要一些小改动。 Lo
我已经阅读了这里有关此问题的所有其他问题以及互联网其他地方的许多文章。根据this site ,最大内存使用量遵循以下公式: Max memory = [-Xmx] + [-XX:MaxPermSiz
我需要以编程方式增加 Android 中的 RAM 使用量,以观察它随时间的变化。我该怎么做? 我尝试生成很多自定义对象,但生成后意外地 RAM 使用量减少了...我更改了对象数量、结构等,但没有任何
我们使用带有 MMFiles 存储引擎的 ArangoDB 3.3.14(社区版)来处理相对较大的数据集(备份时会超过 30 GB)。我们使用 ECS 在 Docker 容器内运行它。我们的主机虚拟机
我收到了 Hostgator 发来的一条说明,表明他们限制了我对 MYSQL 的访问,因为我的网站使用了太多资源。 通常,在这种情况下,我只会恢复备份以查看最近的更改是否会产生错误。但是,除了写了一些
我使用 TMimeMess 来解码基于 SMTP 服务器的传入电子邮件在突触上。 我发现用于解码 50MB MIME 消息(带有附件),TMimeMess 使用了 600-800MB 的内存。 在这里
我正在打包适用于 iOS 和 Android 的 Adobe Air 应用程序,并且我的 (RAM) 内存使用量超过 100MB。我的游戏(RPG)中有大量 Assets 。 Assets 的数量
我是一名优秀的程序员,十分优秀!