Tag: 内存泄漏

内存泄漏每次UIScrollView被释放

在我的应用程序中,我有一个滚动视图和四个表视图。 每次拖动,然后释放,我得到一个48字节的泄漏。 这真的加起来。 正如你所看到的,两组泄漏都有相同的来源。 有没有人看到过这样的泄漏? 编辑1: 当我点击漏洞旁边的箭头时,我得到这个泄漏信息:

使用ARC从NSURL和AVAudioPlayer泄漏

我是在iPhone 4S上运行的乐器。 我在这个方法里面使用了AVAudioPlayer: -(void)playSound{ NSURL *url = [self.word soundURL]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; if (!error) { [audioPlayer prepareToPlay]; [audioPlayer play]; }else{ NSLog(@"Problem With audioPlayer on general card. error : %@ | url %@",[error description],[url absoluteString]); } 播放声音文件时出现泄漏: 泄漏物体: 1。 对象 :NSURL 负责任的图书馆 :基金会 Responsable Frame :Foundation – [NSURL(NSURL)allocWithZone:] 2。 对象 :_NSCFString […]

表视图图像永远不会被释放

我正在对我的一个应用程序进行重大更新,并试图减less内存使用量,使其更清洁,更快。 我使用的仪器来分析应用程序,我正在看UIImage的分配,我约10时,应用程序启动(虽然一个是一个状态栏图标?不知道为什么包括)。 当我打开我的设置视图控制器(这是在iPad的分割视图控制器)它基本上与每个表视图单元格,这是一个很大的图像。 首次展示它添加了42个图像。 当我解雇这个视图控制器时,仍然有52个图像,现在应该只有10个。 如果我再次出示控制器,现在有91个图像。 这不断上升。 仪器没有说有泄漏,我不知道发生了什么。 每个单元格设置一个图像 cell.imageView.image = [UIImage imageNamed:@"Help-Icon"]; 我怎样才能找出为什么这些图像没有被释放? 编辑:我认为它现在释放的图像。 我从设置imageView图像直接更改为setImage:所以现在一个表单元格看起来像这样: cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; } cell.textLabel.text = NSLocalizedString(@"Homepage", @"Homepage"); UIImage *cellImage = [UIImage imageNamed:@"Homepage-Icon"]; [cell.imageView setImage:cellImage]; [MLThemeManager customizeTableViewCell:cell]; return cell; MLThemeManager是一个使用主题类将单元格的属性设置为主题的单例,如文本标签颜色,突出显示颜色,详细文本标签颜色和背景颜色。

如何在iOS中释放CGImageRef

我正在写这个方法来计算图像的平均R,G,B值。 以下方法将UIImage作为input,并返回包含input图像的R,G,B值的数组。 我有一个问题:如何/我在哪里正确地释放CGImageRef? -(NSArray *)getAverageRGBValuesFromImage:(UIImage *)image { CGImageRef rawImageRef = [image CGImage]; //This function returns the raw pixel values const UInt8 *rawPixelData = CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(rawImageRef))); NSUInteger imageHeight = CGImageGetHeight(rawImageRef); NSUInteger imageWidth = CGImageGetWidth(rawImageRef); //Here I sort the R,G,B, values and get the average over the whole image int i = 0; unsigned int red = 0; […]

与ARC的iOS应用程序,find谁是一个对象的所有者

我正在编写一个使用ARC的应用程序,目前似乎有一些内存泄漏。 谷歌search我发现了一些关于如何使用检查员的提示。 在那里,我可以看到一些类的实例分配的堆,我也可以看到一些调用堆栈如何分配对象,以及如何更改保留计数。 但似乎我看不到完整的调用堆栈,所以我不知道谁最终拥有这个对象。 在我看来,这个拥有者不知何故不释放该对象(或拥有该可疑对象的对象)。 任何人都可以给我一个提示find分配的对象的所有者吗? 还请注意,这些对象没有被标记为“泄漏”,而是被分配。 对我来说,好像对象被泄漏,因为分配了新的对象。 任何进一步的帮助,如何最好的继续和发现可疑的泄漏表示赞赏。

泄漏仪器不显示时如何debugging内存泄漏?

我有一个用Swift编写的iOS应用程序正在泄漏内存 – 在某些情况下,应该释放一些对象,但它们不是。 我已经通过简单地添加deinitdebugging消息来了解这个问题: deinit { println("DEINIT: KeysProvider released") } 所以,在应该导致对象释放的事件之后,deinit消息应该出现在控制台中。 但是,对于一些应该发布的对象,则缺less该消息。 尽pipe如此,泄漏开发工具并没有显示任何泄漏。 我如何解决这种情况?