fontconfig 库有一个函数FcFini
。
文档只是说
FcFini [...]
释放之前调用 fontconfig 函数分配的所有数据结构。Fontconfig 返回到未初始化状态,需要在调用任何其他 fontconfig 函数之前重新调用其中一个 FcInit 函数。
但是,文档没有说明我为什么要调用它。它会释放一些内存,但我无法想象 fontconfig 会吞噬大量内存。无论如何,除非我能确保我永远不会再调用 fontconfig,否则我只能在程序结束时调用 FcFini,此时释放内存毫无意义。那么为什么要打扰呢?
顺便说一句,我注意到使用 fontconfig 的cairo渲染库只FcFini
在其测试代码中调用,而在生产代码中从不调用。所以似乎开罗的作者也没有看到调用它的意义......还是他们错了?