Why Does PingFang.ttc Take Up 74MB in iOS Framework Memory in Unity Memory Profiler?
When using the Unity Memory Profiler to inspect memory usage in an iOS build, it is possible to view iOS framework memory. We found that PingFang.ttc occupies 74MB of memory. It does not appear in project resources, but is shown under iOS framework memory. Is this normal?
This behavior is normal and does not require excessive concern. PingFang.ttc is Apple’s built in PingFang system font file TrueType Collection , which belongs to iOS system level resources. When an application uses the system default font for the first time for example, when a UI element uses text rendering without specifying a custom font outside of Text or TextMeshPro , or when the system performs text rendering, iOS maps this font file into the application's memory space. As a result, it appears in the Memory Profiler under iOS framework memory or Untracked Memory . This portion of memory is managed by the operating system and does not belong to Unity’s managed heap or application loaded asset resources, so it will not appear in AssetBundles or resource lists. This memory usage is part of the normal system mechanism, and is typically shared memory multiple applications may share the same physical font pages , so its actual impact on overall PSS memory is limited. Recommended handling: Check whether system fonts are being used unintentionally Review UI text components in the project, especially Legacy UI Text, to determine whether they rely on the system default font instead of an explicitly assigned custom font. If consistent visual style is required or dependence on system fonts should be reduced, it is recommended to use embedded fonts / and package them into AssetBundles. Focus on optimizable memory regions The 74MB system font mapping is within a normal range. Optimization efforts should prioritize controllable memory areas in Tracked Memory , such as: Managed Heap Texture Mesh Avoid unnecessary text rendering Reduce behaviors that dynamically generate large numbers of text objects. Use object pooling where appropriate to avoid continuous font cache growth caused by frequent text creation. Use GameOptim GOT Online for further analysis Through memory auto sampling in Resource Mode , compare the trends of PSS and Reserved Total across different scenes to better understand how business logic affects memory usage. In summary, PingFang.ttc occupying 74MB is part of normal iOS system behavior. As long as the project does not experience abnormal stuttering or OOM crashes, it can be considered reasonable memory usage.