我有一个滑块用于更改UITextView中文本的字体大小。 Analyzer和Leaks报告没有内存泄漏。但是,每次通过移动滑块更改字体大小时内存都会增加。最终,应用程序会出现内存不足警告。代码是:
mainText.font = [UIFont systemFontOfSize:mainSlider.value];
如果我用mainText.font = [UIFont systemFontOfSize:40.0];
替换该代码,无论移动滑块多少次,内存都保持不变。我搜索了这个和许多其他网站,寻找有关可能的UIFont错误的信息。没有成功。我看到人们使用我正在使用的相同代码而没有提到增加内存。请帮忙。
答案 0 :(得分:1)
可能有一个字体缓存,以避免一遍又一遍地重新生成相同的字体(有点像[UIImage imageNamed:@“”])
文档中未明确说明,但阅读
您不使用创建UIFont对象 alloc和init方法。代替, 你使用UIFont的类方法 查找并检索所需的字体 宾语。这些方法检查 现有的字体对象 指定的特征和回报 它是否存在。否则,他们 基于的创建一个新的字体对象 所需的字体特征。
可以让人相信有一个缓存
另外,你称之为“内存不足警告”?我认为它只是一个“内存警告级别= 1”,而不是因为内存不足导致应用程序崩溃?