如何在 safari 开发工具中调试“页面”内存中的累积情况?

kat*_*kat 5 javascript memory-leaks memory-management webview safari-web-inspector

我正在尝试调试在 Unity 应用程序中嵌入的 Web 视图中看到的大量内存泄漏。不幸的是,我无法使用 safari 开发工具。

在开发工具中,我看到我的 JS 堆保持稳定,大约 75mb。然而,我的“页面”内存增长很快。在大约 10 分钟的时间里,它从 272mb 增长到超过 1GB。

我不知道如何判断是什么占用了所有“页面”内存。有没有一种方法可以让我看到正在构建的内容,类似于 javascript 分配时间线?

hex*_*D49 0

如果您需要类似于 JavaScript 分配时间线的东西,您可以按照以下步骤在 Safari 中执行确切的操作

Safari DevTools -> Memory tab -> Start Recording JavaScript Allocations

让应用程序运行一段时间;然后停止记录并检查任何重要分配的时间表

此外,您还可以执行如下所述的其他一些检查

Safari DevTools -> Memory tab -> Start Recording Heap Allocations

一段时间后,停止记录并检查时间线是否有任何重要的分配

Safari DevTools -> Memory tab -> Record

再次,在一段时间后停止记录,使用“拍摄堆快照”按钮拍摄快照,然后比较多个快照,以便识别没有被垃圾收集的对象。