在 iOS 中跟踪 WKWebView 线程

Tracking WKWebView Threads in iOS

我目前正在构建一个 iOS 10 Swift(出于所有预期目的,请在此处插入 8/9)应用程序,该应用程序广泛使用 WebKit 的 WKWebViews。我希望能够在同一个 ViewController 中启动并跟踪多个 WKWebView(有时甚至在同一屏幕上显示多个 WKWebView)现在我有一个非常简单的功能,它初始化 WkWebView 并打开一个URL 基于 Apple 文档中显示的用户输入。如果我再次使用该函数,它将使用新的 URL.

初始化一个新的 WKWebView

如何跟踪单个 WKWebView 线程?我想要一个包含所有 运行 WKWebView 的列表,这样我就可以在必要时一个一个地关闭它们。当然,我可以为我的函数使用字典作为打开 URLs 的一种日志,但我也想掌握线程(跟踪内存警告等)

PS 我尝试查看 Xcode 中的当前线程,但我在调试导航器中看不到单个 WKWebView 线程。

我终于找到了一些关于 WKWebViews 难以捉摸的内存统计的信息! WKWebViews 不显示在应用程序的进程树中,因此在调试导航器中看不到它们。此外,如果使用 WKWebViews 的应用程序内存不足,它不应该崩溃,但它可能会导致一个空白的 WKWebView。

可以在此处找到更多信息:https://forums.developer.apple.com/thread/21956

还有第二个来源:https://www.hackingwithswift.com/example-code/wkwebview/whats-the-difference-between-uiwebview-and-wkwebview

我个人觉得这很麻烦,因为它或多或少不可能对功耗等进行任何优化。另一方面,它有帮助,因为我们可以使用原生 JavaScript 加速——我们就是不能我猜的都有。