CTFontManagerUnregisterGraphicsFont返回true但未释放内存

时间:2014-01-31 02:47:45

标签: ios objective-c core-text

CTFontManagerUnregisterGraphicsFont(cgFont, &fontError)返回true,所以我希望:

  1. cgFont从内存中释放(注册的字体是5MB以上的日文字体!)
  2. 之后致电[UIFont fontWithName:postscriptName size:fontSize]应返回nil
  3. cgFont表现得好像没有注册。

    预计会出现这种情况吗? 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

[UIFont fontWithDescriptor:[UIFontDescriptor fontDescriptorWithName:fontName size:size] size:size];

但是不要使用以下代码:

[UIFont fontWithName:postscriptName size:fontSize]

答案 1 :(得分:0)

您的期望与我对文档的理解不符。 docs说“通过字体描述符匹配可以发现已注册的字体”。 “通过字体描述符匹配,不再能发现未注册的字体。”这就是它的意思。

完成CGFont后,您应致电CGFontRelease()。如果您还注册了字体,则只应取消注册。