我们希望使用 Instruments 分析 iOS 应用程序的文件提供程序扩展的内存使用情况。文件提供程序扩展只能访问有限的 RAM(目前 iOS 17 上为 15MB),因此优化内存使用非常重要,因为如果扩展进程尝试分配更多内存,系统会终止它。
那么,我们如何分析文件提供程序扩展的内存使用情况?
理想情况下,我想象这样的事情是可能的:
这样的事情可能吗?这怎么办?
根据苹果的文档我发现这在内存受限应用程序的设备上是不可能的,因为系统在达到内存限制时会杀死进程。当您使用 Instruments 附加到进程时,它还会导致内存使用量增加并终止进程。不过,您可以在内存使用不受限制的模拟器中进行测试。
问题中描述的步骤是可能的,但由于上述原因实际上只能在模拟器中使用。只需安装优化的构建并启动 Instruments,选择分配模板以及正确的模拟器和目标进程即可。
“仪器”下拉列表中文件提供程序扩展的目标进程要么是可执行文件的名称(如果正在运行),要么是与应用程序本身名称类似的扩展(如果未运行)。将鼠标悬停在工具提示上,它会在工具提示中显示路径,因此您可以检查以确保选择正确的路径。