- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
friend ,
我在仪器中运行我的代码,它显示 5 行内存泄漏(在以下代码之外)即 cell = [[[NSBundle mainBundle] loadNibNamed:@"ZoomCustomVideoCell" owner:self options:nil] objectAtIndex:0];
我不知道为什么它在那里显示内存泄漏以及相同的解决方案是什么
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ZoomCustomVideoCell";
ZoomCustomVideoCell *cell = (ZoomCustomVideoCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"ZoomCustomVideoCell" owner:self options:nil] objectAtIndex:0];
cell.m_zoomMsg = [[[ZoomMessage alloc] init] autorelease];
[[cell m_zoomMsg] initWithJSON:[m_tmpVideoList objectAtIndex: indexPath.row]];
[[cell videoLabel] setText:[cell.m_zoomMsg _from]];
[[cell m_labelLocation] setText:[NSString stringWithFormat:@"%@", cell.m_zoomMsg._location]];
[[cell videoLabelB] setText:[cell.m_zoomMsg _uploadDesc]];
NSLog(@"UserName: %@", [[cell videoLabel] text]);
[cell refreshImage];
}
return cell;
}
最佳答案
loadNibNamed:owner:options:
方法将参数传递为 owner:
作为 Nib 的“文件所有者”。这意味着 Nib 中的 socket 将连接到您作为所有者传递的任何内容。由于您正在通过 self
作为所有者,它将覆盖以前为 self
分配的所有网点与新加载的 Nib 中的那些。为了建立导出连接,nib 加载程序使用 setValue:forKey:
在提供的所有者上。如果您已将 outlets 设置为具有正确内存管理的属性,那么应该没有泄漏。如果您只有 outlets 作为实例变量,那么(目前还不清楚,但我假设)对象在设置时会自动保留。
这里有两种解决方案:
为您的网点提供适当的内存管理,例如将它们转换为属性(如果它们还没有)并确保它们具有正确的内存管理属性。
为 loadNibNamed:owner:options:
提供不同的所有者一种方法,一种尚未建立任何网点,另一种你知道会适本地处理这些网点。
关于objective-c - [NSBundle mainBundle] loadNibNamed 上的仪器显示内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13064111/
检测 C# 代码的最简单方法是什么?我所说的检测是指插入我自己的代码片段以在执行期间收集一些动态信息。 例如(星号代表一些不重要的代码): for (int i=0; i。通过捕获方法调用,我的意思是
我有一个 javaagent,它可以打印出所有已加载类的名称及其来源(它们来自哪里)。 public byte[] transform(ClassLoader loader, String class
我可以使用命令行为单个设备/模拟器运行仪器,但我需要在两个设备上运行它。手动我可以通过打开 Instruments 的两个新窗口并制作两个 js 副本并导入它来实现这一点。但我需要使用命令行来实现这一
Closed. This question needs details or clarity。它当前不接受答案。
在 xcode 工具中测试我的 IOS 应用程序时,我有几次内存泄漏。谁能看出标有“-->”的行为什么会泄漏? --> CLLocationCoordinate2D newCoord = CLLoca
我正在尝试分析我的应用程序并想检查内存泄漏。我打算使用 Xcode 仪器。任何人都建议从 Xcode 仪器开始的好教程。请提出任何替代方案。 最佳答案 这里是教程列表,其中一些是文本文档和视频 关于仪
我正在我的 iOS 设备上运行应用程序,但在 Instruments 中,该设备显示为灰色。 这也意味着我无法附加流程 ( Cant launch iOS app with Instruments o
我正在使用工具“分配”来监视应用程序的内存。虚拟机跟踪器的统计数据让我很困惑。为什么有这么多脏内存(对于我的应用程序,达到32M),我用谷歌搜索了一下,知道当应用程序在后台模式下收到内存警告时,应该首
我正在关注 Ray Wenderlich tutorial for instruments ,但我不知道为什么分析没有显示泄漏的对象? - (void)tableView:(UITableView *
我目前正在开发一款 tvOS 应用。这是我的第一个原生 (Swift) 应用程序。该应用程序将是一个数字标牌应用程序,在事件期间或公司办公室使用。与 iOS/tvOS 上的典型应用程序相比,一个很大的
我正在应用程序上运行仪器。根据仪器,未检测到任何泄漏。 但是,类别CFString (store) 一直在上升。有谁知道 CFString (store) 是什么? 这是否意味着我有泄漏? 最佳答案
如何从命令行为 iOS 自动化 (iPhone/iPad) 运行 apple instruments?我看到一些博客说下面的命令 instruments -w -t /Developer/Platfo
当我从 SVN 检查测试脚本时(提交的文件我的 friend ),我不知道为什么脚本不可编辑,播放脚本和停止脚本选项被禁用并且记录不是一切都在发生。 当我创建一个新的自动化项目并导入相同的项目时脚本文
我的应用程序构建仅在运行仪器时崩溃。重现情况是 100%,但在没有仪器的情况下运行发布版本或运行调试版本时不会崩溃。当 Instruments 运行发布版本时,我无法单步执行并找出崩溃的确切原因。当构
在以前版本的 Instruments 中,我没有遇到任何问题,但现在(v6.2)由于某种原因,Allocations 不会列出我的应用程序的任何对象。我试过调试和 Release模式: 请注意,过滤器
我在我的 View Controller 上什么也没做,我看到了应用程序运行时正在变化的图表。 这真的是泄漏吗? 第一次显示绿色复选标记,然后显示 1 次泄漏,然后没有新的泄漏。 所以这意味着没有泄漏
我有一个 Android 项目(由 Cordova 生成),我想向其添加(检测)测试。它只有一个应该测试的 MainActivity.java。 通常这意味着向 build.gradle 添加一些依赖
我有内存问题(我正在使用 ARC),我确定我在应该是 weakstrong @property。我运行仪器,它向我展示了这个分配: 这显然是一个不发布的问题。但是我可以在 Instruments 中找
我正在使用时间分析器分析我的 WatchKit 扩展应用程序,但轨迹是未符号化的: 我的意思是这些对我来说都是无关的符号,我找不到我的方法名称。如果我点击这些符号中的任何一个,我就可以看到汇编代码。如
我正在使用仪器来分析我正在开发的 iPhone 应用程序中的内存使用情况。我想知道,什么是合理的内存分配大小? 当我获得关于我的目标的信息时,我是否应该选中忽略“NS”、“CF”和“Malloc”前缀
我是一名优秀的程序员,十分优秀!