NSMutableArray *fontsDetails=[[NSMutableArray alloc] init];
[fontsDetails addObject:[UIFont systemFontOfSize:28]];
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
@autoreleasepool {
for (NSString *fontName in fontNames) {
[fontsDetails addObject:[UIFont fontWithName:fontName size:28]];
}
}
}
我在控制器的 viewDidLoad 中使用此代码,使用此代码,第一次和第二次运行之间的堆射击差异增加了 5mb 并且永远不会下降。(随后的堆射击差异较低)。我在堆镜头的回溯中找到 [UIFont fontWithName:],我运行了泄漏分析器并且没有泄漏。所有加载的字体都保存在堆中,永远不会被销毁。请帮我解决这个问题。