Загрузка динамических шрифтов приведет к значительному использованию памяти - PullRequest
0 голосов
/ 03 ноября 2019

Когда я использую следующий код для загрузки динамических шрифтов в / Document, использование памяти увеличит размер шрифта. Я хочу отменить регистрацию этого шрифта, когда я его не использую, потому что увеличенный объем памяти слишком велик.

static func readFont(fileName: String) -> Bool
    {
        let home = NSHomeDirectory() as NSString
        let docPath = home.appendingPathComponent("Documents") as NSString
        print("docPath: \(docPath)")

        let filePath = docPath.appendingPathComponent(fileName)

        guard let fontData = NSData(contentsOfFile: filePath) else
        {
            return false
        }

        let fontDataProvider = CGDataProvider(data: CFBridgingRetain(fontData) as! CFData)
        let cgFont = CGFont(fontDataProvider!)

        if cgFont == nil
        {
            return false
        }

        var fontError: Unmanaged<CFError>?

        CTFontManagerUnregisterGraphicsFont(cgFont!, nil)
        if CTFontManagerRegisterGraphicsFont(cgFont!, &fontError)
        {
            return true
        }
        else
        {
            fontError?.release()
        }

        return false
    }

Что ж, как мне это сделать, если я не использую этот шрифт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...