gpt4 book ai didi

ios - 我可以关闭当前未使用的 UIAppFonts 的文件描述符吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:05 25 4
gpt4 key购买 nike

我们在 iOS 应用程序中捆绑了很多字体,我们将它们全部放在 UIAppFonts 中以加快加载速度。
(我们在 UIWebView 中使用它们,它比使用 @font-face 加载文件要快很多)。

然而,这导致我偶尔会收到这种警告:

Mar 13 23:07:16 iPad afcd[2582] <Error>: Max open files: 78
Mar 13 23:07:17 iPad mobile_house_arrest[2584] <Error>: Max open files: 78
Mar 13 23:07:17 iPad mobile_house_arrest[2586] <Error>: Max open files: 78
Mar 13 23:07:17 iPad mobile_house_arrest[2587] <Error>: Max open files: 78
Mar 13 23:07:17 iPad mobile_house_arrest[2588] <Error>: Max open files: 78

这也与打开文件时的 I/O 异常相关。

我用了this snippet找出泄漏的文件,看起来 iOS 在应用程序的整个生命周期内为 UIAppFonts 中列出的每种字体保持打开的文件描述符

File Descriptor 8 number 9 in use for: Fonts/ABeeZee-Regular.ttf
File Descriptor 9 number 10 in use for: Fonts/ABeeZee-Regular.ttf
File Descriptor 10 number 11 in use for: Fonts/ABeeZee-Italic.ttf
File Descriptor 11 number 12 in use for: Fonts/ABeeZee-Italic.ttf
File Descriptor 12 number 13 in use for: Fonts/AmaticSC-Regular.ttf
File Descriptor 13 number 14 in use for: Fonts/AmaticSC-Regular.ttf
File Descriptor 14 number 15 in use for: Fonts/AmaticSC-Bold.ttf
File Descriptor 15 number 16 in use for: Fonts/AmaticSC-Bold.ttf
File Descriptor 16 number 17 in use for: Fonts/AnonymousPro-Bold.ttf
File Descriptor 17 number 18 in use for: Fonts/AnonymousPro-Bold.ttf
File Descriptor 18 number 19 in use for: Fonts/AnonymousPro-Regular.ttf
File Descriptor 19 number 20 in use for: Fonts/AnonymousPro-Regular.ttf

对我们来说,这意味着大约有一百个打开的文件描述符,尽管目前正在使用的 UIAppFonts 不超过五个。有时,会出现重复的条目。

是否有强制关闭我目前未使用的 UIAppFonts 的文件描述符?

如果不是,是否有另一种方法可以让 UIWebView 保持本地字体可用,而无需求助于速度较慢的 @font-face

最佳答案

If not, is there an alternative way of keeping local fonts available to UIWebView without resorting to @font-face which is slow?

事实证明,有。

我们通过使用 CTFontManagerRegisterFontsForURL 注册字体解决了这个问题并使用 CTFontManagerUnregisterFontsForURL 注销它们.这使它们可用于 UIWebView,因为您总是在 font-family 中使用它们之前注册字体。

关于ios - 我可以关闭当前未使用的 UIAppFonts 的文件描述符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15397573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com