小编Ada*_*dam的帖子

显示NSPlaceholderstring泄漏的工具

我正在尝试减少我的应用程序中的内存泄漏,所以我使用仪器来查找所有泄漏.我设法删除了几乎所有的泄漏,除了一个非常烦人的泄漏.

仪器告诉我,我有很多NSPlaceholderstring泄漏.产生泄漏的代码(根据工具)是:

if (nil == storedHash) 
{
  NSString *description = [[NSString alloc] initWithFormat:@"1 = %@ 2= %d", uId, service];
  self.storedHash = description; // This line is the leak according to instruments

  [description release];
  description = nil;
}

return storedHash
Run Code Online (Sandbox Code Playgroud)

storedHash定义如下:

@property(copy) NSString* storedHash;
Run Code Online (Sandbox Code Playgroud)

我尝试了我能想到的一切:

  • 我使用retain而不是copy
  • 我使用了NSString的自动释放分配(stringWithFormat)
  • 我尝试用自动释放池包装代码

以上都没有改变泄漏.(在某些情况下,泄漏的类型会发生变化,但仍然存在泄漏)

想法有人吗?

iphone memory-leaks instruments

4
推荐指数
1
解决办法
5624
查看次数

标签 统计

instruments ×1

iphone ×1

memory-leaks ×1