MKMapView 是否存在泄漏

2023-12-07

以及我的问题“删除MKMapView注释会导致泄漏。”我发现,如果您创建基于视图的项目,请添加UISearchBar and MKMapView进入视图的 NIB,连接委托(我没有创建任何方法,因为我们实际上不需要做任何事情来触发泄漏),链接到 MapKit 并启动项目,然后只需单击UISearchBar导致 1k+ 泄漏。除非你两者都具备,否则这种情况不会发生UISearchBar and MKMapView在一个视图中。从代码创建视图时我遇到了同样的问题。我认为 NIB 的行为可能会有所不同,但事实并非如此。

Is MKMapView漏水,或者我做错了什么。

要使用代码复制问题,请尝试下面的代码 - 我创建了一个新的“基于视图的应用程序”项目

TestMapViewFromCodeViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface TestMapViewFromCodeViewController : UIViewController {
    UISearchBar *searchBar;
    MKMapView *mapView;

}

@property (nonatomic, retain) MKMapView *mapView;
@property (nonatomic, retain) UISearchBar *searchBar;


@end

TestMapViewFromCodeViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    UISearchBar * tmpSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0,0.0,self.view.frame.size.width,40.0)];
    [self.view addSubview:tmpSearchBar];
    [self setSearchBar:tmpSearchBar];
    [tmpSearchBar release];

    MKMapView *tmpMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0.0,0.0,self.view.frame.size.width,self.view.frame.size.height)];
    tmpMapView.showsUserLocation=FALSE;
    [self.view insertSubview:tmpMapView atIndex:0];
    [self setMapView:tmpMapView];
    [tmpMapView release];
}


- (void)dealloc {
    [mapView release];
    [searchBar release];
    [super dealloc];
}

尽管我保留了带有 mapView 和 searchBar 的子视图,但这可能没有必要复制该问题。

在在此发布之前测试此代码时,我刚刚注意到这种泄漏不会发生在模拟器中 - 仅发生在我的手机上......


Yes.

3.0 的 MKMapViews 存在已知泄漏。当您释放 MKMapView 时会发生泄漏,这在以后的版本中已修复。解决方法是使用单个 MKMapView 并重用它。

https://devforums.apple.com/message/129740#129740

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MKMapView 是否存在泄漏 的相关文章

  • 监控剪贴板活动可可?

    是否可以在可可中 观看 用户剪贴板 例如 如果我的应用程序是系统托盘样式应用程序 例如 dropbox 客户端 我可以订阅用户在另一个应用程序中点击复制 粘贴时引发的事件吗 你可以随时查看Apple的示例代码 剪贴板查看器 http dev
  • 是否有一个类可以获取应用程序中的默认图片查看器?

    我不想访问 iPhone 上的图像 我想显示我的应用程序中的图像 但就像您查看 iPhone 相册中的图片一样 使用所有捏合和缩放控件等 这可能吗 我认为可能 偶然 有像 AVMediaPlayer 类这样的类可以做到这一点 谢谢 汤姆 如
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • OpenGL ES 1.1 顶点缓冲区对象不工作

    我正在使用 OpenGL ES 1 1 开发一款 iPhone 游戏 需要使用顶点缓冲区对象来渲染 500 多个粒子而不降低性能 我的游戏能够使用非 VBO 方法成功绘制 但现在我尝试合并 VBO 却不再绘制任何内容 请帮助我找出我做错了什
  • NSSortDescriptor 和多对多关系

    我有两种反对意见 地点和历史项目 我正在尝试获取附加到任何历史记录项目的位置 因此该位置的获取谓词是 history count gt 0 效果很好 我还想使用 NSSortDescriptor 按最新历史项目的日期对位置对象进行排序 据我
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove
  • 在 iPhone 模拟器中从硬盘读取文件

    是否可以将文件 从我的普通文件系统 读入在 iPhone 模拟器上运行的 iPhone 应用程序 据我所知 iPhone 本身没有 用户可访问的 文件系统 但这只是为了测试 并且只能在模拟器中运行 该文件将是一个可以在应用程序运行时编辑的文
  • 在向量::resize()和向量::reserve()之间选择

    我正在为我的 a 预先分配一些内存vector数据成员 例子 class A vector
  • UITableViewCell的detailTextLabel滚动时消失

    我正在使用一个字符串数组 我在其中设置detailTextLabel从 最初所有字幕都设置正确 但如果我滚动detailTextLabel消失 UITableViewCell tableView UITableView tableView
  • UIAlertController 显示延迟

    我在我的应用程序上遇到了 UIAlertController 问题 现已迁移到 iOS8 其中包含日期选择器 下面是代码 UIAlertController AlertView UIAlertController alertControll
  • 表视图未根据绑定更新

    这是一个非常新手的问题 这是我以前做过很多次的事情 但这次我遗漏了一些东西 在我的 AppDelegate h 文件中 我声明一个 NSArray 并将其设置为属性 interface AppDelegate NSObject NSArra
  • 保存一页数据并将该数据添加到 tableView

    大家好 我有 2 个视图 第一个有 UITableView 第二个有一个文本字段 当用户按下第二页上的 保存 按钮时 我希望将文本字段文本添加到 tableView 中 这是我正在使用的代码 IBAction saveButton id s
  • ng-submit 和 ng-click 在 ionic iPhone 应用程序中多次触发

    我正在尝试离子框架 它看起来非常好 但是 我在提交表单时遇到问题 表单触发两次 首先是按下提交按钮时 然后是点击屏幕上的任意位置 这种情况在 xcode 模拟器和我的 iphone 4gs 上都会发生 这就是我所做的 我使用以下命令安装侧菜
  • 将 MKMapView 缩放至 CLRegion

    我在 iOS5 上使用 CLGeocoder 获得了 CLPlacemark 现在我想获取地标的区域 CLRegion 对象 并将我的 MKMapView 缩放到该区域 这到底是怎么可能的 我想要的倒数this https gist git
  • 在 iPhone 上处理电子标签

    知道如何在客户端处理电子标签吗 我们计划在我们的应用程序中使用带有来自服务器的图像的电子标签 关于什么是 eTag 请参阅 http en wikipedia org wiki HTTP ETag http en wikipedia org
  • 如何解决内存分段并强制FastMM释放内存给OS?

    注意 32 位应用程序不计划迁移到 64 位 我正在使用一个非常消耗内存的应用程序 并且几乎优化了与内存分配 取消分配相关的所有相关路径 应用程序本身没有内存泄漏 没有句柄泄漏 没有任何其他类型的泄漏 据我所知并经过测试 我无法触及的第 3
  • cocos2d中获取CCSprite的绝对位置

    在我的游戏中 我有一个CCSprite绕另一个轨道运行CCSprite 很像电子绕原子核运行 我将电子作为原子核的子元素 以使动画更加简单 我所要做的就是旋转原子核 电子就会很好地跟随 然而 我的问题来自于想要让轨道动画看起来更时髦一点 通
  • Objective C“#if”语法

    我对 如果 或 如果 有点困惑 if当我查看一些类时我看到的语法 例如 if someConstant someNumber do something elif etc versus if someConstant someNumber d
  • UIView类中addSubview和insertSubview的区别

    有什么区别addSubview and insertSubView以编程方式添加视图时的方法 唯一的区别在于视图添加的位置 是否是最前面的视图 addSubview 或者在第 5 个子视图之前 insertSubview atIndex 或
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之

随机推荐

  • 如何在R中根据人体gif制作热图? [复制]

    这个问题在这里已经有答案了 我有一张人体 gif 需要在其上绘制热图 要使用的数据在R中 我找到了有关如何导入 gif 的说明 但我不确定如何将数据导入到 gif 中 我想我需要首先将 gif 放在网格上 然后获取一些坐标 然后将数据分配给
  • 用于轴标签的 Matplotlib DateFormatter 不起作用

    我正在尝试调整 x 轴日期刻度标签的格式 以便它仅显示年份和月份值 根据我在网上找到的信息 我必须使用mdates DateFormatter 但它对我当前的代码根本没有生效 有人看出问题出在哪里吗 日期是 pandas Dataframe
  • 如何使用反射在 Java 8 中获取方法参数名称?

    Java 8 能够使用 Reflection API 获取方法参数名称 如何获取这些方法参数名称 据我所知 类文件不存储形式参数名称 我如何使用反射获得这些 我如何获取这些方法参数名称 基本上 您需要 获取对 a 的引用Class 来自Cl
  • xhr.send(file) 不会将其作为多部分发布

    在 Firefox 3 6 和 Chrome 上 使用 xhr send file 只是将原始内容放入请求正文中 而不是真正的多部分 表单数据上传 尝试这样做 http kaply com weblog 2010 05 20 post mu
  • ::after 的 Angular ng 风格

    我正在设计一个动态的人力资源 水平 规则 在我的样式表中 hr my hr after content Generic 在我的模板中 div hr class my hr 但是使用 ng repeat 时如何动态更改模板中的内容 All n
  • 如何在android中以编程方式打开“设置”的“关于设备”部分中使用的电池?

    我正在开发一个 Android 应用程序 我想以编程方式打开设置的 关于设备 部分中存在的电池使用意图 我正在使用下面的代码 Intent i new Intent i setAction android provider Settings
  • woocommerce结账多次更新运费价值

    Woocommerce 允许使用下面的代码来更新运费 body trigger update checkout update shipping method true 我使用自定义运输插件 并且能够通过 ajax 更新成本并最终更新我的总计
  • 在 iPad 中隐藏地址栏

    我知道您可以使用以下命令隐藏 iPhone iPad Android 上的地址栏window scrollTo事物 然而 似乎没有什么可以摆脱 iPad 上的地址栏 我发现的唯一解决方法是添加元标记 然后让用户将页面添加到主屏幕 我错过了什
  • 使用 CMake 使用 LLVM LLD 发出单个 IR 位码文件

    我正在使用 Ubuntu 16 04 x86 64 和 LLVM 5 0 并且想使用 CMake 将项目编译为单个 LLVM IR 位码文件 我知道有一种方法可以使用 GOLD 链接器和 LLVM 插件来完成此操作 并添加 CMake 链接
  • 在 pandas 数据框单元格中插入列表

    我有一本字典 其中每个键都有一个值列表 与每个键关联的列表的长度是不同的 我想将字典转换为具有两列 键 和 值 的 pandas 数据框 每一行的 键 列中有一个字典键 值 列中有与其关联的值列表 数据框将如下所示 mapping dict
  • 如何将 CIFAR10 教程转换为 NCHW

    我正在尝试转换张量流 CIFAR10从 NHWC 到 NCHW 的教程 但不知道该怎么做 我只找到了诸如此类的答案this 这是几行代码 没有解释它是如何工作的以及在哪里使用它 这是我使用的一些不成功的尝试这种方法 def inferenc
  • 比较浮点值

    我刚刚读了一篇关于浮点值比较的声明 浮点值不得使用 或 进行比较 运营商 大多数浮点值没有精确的二进制表示 并且有一个 精度有限 如果是这样 比较两个浮点值的最佳方法是什么 以下扩展方法可能有助于实现 Kevin 的建议 public st
  • 在 PyQt4 中使用 QThreadPool 和 QRunnable

    考虑以下代码片段 class Worker QtCore QRunnable def init self super Worker self init def run self print Running Worker class Task
  • 当我输入 1 个字符时,getch 返回 2 个字符

    当我使用 getch 时 它总是在读取的字符后附加空字符 当我使用以下代码时 include stdafx h include
  • 寻找易于被搜索引擎索引的独特ID模式

    就像来自微软的 KB2756872 或来自国家漏洞 数据库 CVE 2010 1428 或来自红帽 RHSA 2010 0376 或者 来自 OID 1 3 6 1 4 1 311 或来自 UUID GUID 550e8400 e29b 4
  • data.table 上的 dplyr,我真的在使用 data.table 吗?

    如果我使用dplyr语法在 a 之上数据表 我是否可以在仍然使用 dplyr 语法的同时获得数据表的所有速度优势 换句话说 如果我使用 dplyr 语法查询数据表 是否会误用数据表 或者我是否需要使用纯数据表语法来利用其所有功能 代码示例
  • 如何解决变异表(Oracle)中的错误?

    我创建了以下表格 create table products code varchar 9 group code varchar 9 price number CONSTRAINT pk code PRIMARY KEY code 我创建了
  • 从字符串中删除 HTML 标签的 Python 代码[重复]

    这个问题在这里已经有答案了 我有这样的文字 text div h1 Title h1 p A long text p a href a link a div 使用纯Python 没有外部模块我想要这个 gt gt gt print remo
  • 如何使用Java正确加载多个平台上的文件? [复制]

    这个问题在这里已经有答案了 我有一个 java swing 数据库应用程序 需要在 Windows 和 Linux 上运行 我的数据库连接详细信息存储在 XML 文件中 我加载它们 该应用程序可以在 Linux 上正确加载此属性 但无法在
  • MKMapView 是否存在泄漏

    以及我的问题 删除MKMapView注释会导致泄漏 我发现 如果您创建基于视图的项目 请添加UISearchBar and MKMapView进入视图的 NIB 连接委托 我没有创建任何方法 因为我们实际上不需要做任何事情来触发泄漏 链接到