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

发布于 2024-11-02 12:20:54 字数 358 浏览 6 评论 0原文

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

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

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

I have a slider used to change the font size of the text in a UITextView. Analyzer and Leaks report no memory leak. However, the memory grows each time I change the font size by moving the slider. Eventually the app gets an out of memory warning. The code is:

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

If I replace that code with mainText.font = [UIFont systemFontOfSize:40.0];, memory stays the same no matter how many times I move the slider. I searched this and many other sites looking for info on a possible UIFont bug. No success. I see people using the same code I am using and not mentioning increasing memory. Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥枳 2024-11-09 12:20:54

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

文档中没有明确说明,但阅读

您不使用以下方式创建 UIFont 对象
alloc 和 init 方法。反而,
您使用 UIFont 的类方法来
查找并检索所需的字体
目的。这些方法检查
现有的字体对象
指定特征和返回
如果存在的话。否则,他们
基于创建一个新的字体对象
所需的字体特征。

可以让人相信有一个缓存

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

另外,你所说的“out”是什么?内存警告”?我认为这只是一个“内存警告级别=1”,而不是由于内存不足而导致应用程序崩溃?

There is probably a font cache in place to avoid regenerating the same fonts over and over again (a bit like [UIImage imageNamed:@""])

It is not explicitly stated in the docs but reading

You do not create UIFont objects using
the alloc and init methods. Instead,
you use class methods of UIFont to
look up and retrieve the desired font
object. These methods check for an
existing font object with the
specified characteristics and return
it if it exists. Otherwise, they
create a new font object based on the
desired font characteristics.

could make one believe there is a cache

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

Also, what are you calling an "out of memory warning"? I presume it's just a "memory warning level=1", and not an application crash because of out-of-memory?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文