更改UITextView的字体大小会泄漏内存

时间:2011-04-19 22:16:45

标签: memory-leaks uitextview memory-management font-size uifont

我有一个滑块用于更改UITextView中文本的字体大小。 Analyzer和Leaks报告没有内存泄漏。但是,每次通过移动滑块更改字体大小时内存都会增加。最终,应用程序会出现内存不足警告。代码是:

mainText.font = [UIFont systemFontOfSize:mainSlider.value];

如果我用mainText.font = [UIFont systemFontOfSize:40.0];替换该代码,无论移动滑块多少次,内存都保持不变。我搜索了这个和许多其他网站,寻找有关可能的UIFont错误的信息。没有成功。我看到人们使用我正在使用的相同代码而没有提到增加内存。请帮忙。

1 个答案:

答案 0 :(得分:1)

可能有一个字体缓存,以避免一遍又一遍地重新生成相同的字体(有点像[UIImage imageNamed:@“”])

文档中未明确说明,但阅读

  

您不使用创建UIFont对象   alloc和init方法。代替,   你使用UIFont的类方法   查找并检索所需的字体   宾语。这些方法检查   现有的字体对象   指定的特征和回报   它是否存在。否则,他们   基于的创建一个新的字体对象   所需的字体特征。

可以让人相信有一个缓存

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIFont_Class/Reference/Reference.html

另外,你称之为“内存不足警告”?我认为它只是一个“内存警告级别= 1”,而不是因为内存不足导致应用程序崩溃?