仅供参考,我们正在调试使用angularJS 1.4.2和离子框架1.2.4与WKWebView开发的移动混合应用程序。
下面的多个快照用于显示之前和之后的事件。基于webkit memory debugging article,快照将显示尚未成为GC的实时JavaScript对象
快照5仍然在同一页面中,但经过一些计算并从PDFTron生成一个base64字符串pdf,以便在UIWebview上查看它。
快照2和快照10的比较,所有base64字符串仍保留在那里。
问题:
答案 0 :(得分:0)
更新
发布了一篇关于内存调试的新文章。本文包括更详细的步骤和过程。
答案
在对应用程序进行了几个月的内存调试之后,我们在调试内存泄漏方面有了一些额外的发现。
内存调试步骤
对于那些可能还想在将来使用内存调试的人来说,这里有一些建议。 内存调试的当前步骤:
*请记住始终拍摄最新快照。例如。使用快照5和6而不是1和2,因为较早的快照可能有机会成为GC,结果将不准确。
通过这些步骤,最好找出并确定内存泄漏部分。通常我们会跟踪对象,函数和数组计数。如果存在内存泄漏,则在比较快照时计数将增加。其他一些内存泄漏项将是对象内部的$$。这种对象可能会导致内存泄漏,因为该对象不再使用,但仍然被应用程序的其他部分引用。