仅供参考,我们正在调试我们的移动混合应用程序,该应用程序是使用 angularJS 1.4.2 和带有 WKWebView 的 ionic 框架 1.2.4 开发的。
下面的多个快照是显示之前和之后的事件。根据webkit 内存调试文章,快照将显示尚未被 GC 的活动 JavaScript 对象。
快照 5 仍在同一页面中,但在进行了一些计算并从 PDFTron 生成了一个 base64 字符串 pdf 以在 UIWebview 上查看它。
快照 10 显示退出页面 A 并使用控制器 C 导航到页面 C。
快照 2 和快照 10 的比较,所有 base64 字符串仍然保留在那里。
问题:
- snapShot的大小不断增加而不减少是否正常,是否考虑内存泄漏?
- 快照大小仅代表所有活动的 javascript 对象,或者它将显示我们访问过的所有对象,无论它是否是活动的,就像应用程序中的一些历史对象一样?
- 快照大小和快照实时大小有什么不同?
- 当导航到下一个控制器时,AngularJS 将有助于破坏作用域,我们还禁用了 ionic 上的缓存。那么这些base64字符串是否也考虑内存泄漏项?