如果 WKWebView 在应用程序在前台运行时终止,webViewWebContentProcessDidTerminate将在其委托上调用。
但如果应用程序在后台运行会发生什么?
\n还会立即收到回调吗?当应用程序稍后置于前台时它会收到它吗?它根本不运行吗?
\n我目前不知道如何触发终止 \xe2\x80\x93 否则我会尝试一下。
\n我之所以这么问,是因为我想让它重新加载已终止的 Web 视图,以避免我的应用程序中出现空白屏幕,但我不确定这是否真的适用于在后台运行的应用程序。
\nJas*_*n B 16
如果您正在运行模拟器,则可以从命令行终止 Web 内容进程以触发调用webViewWebContentProcessDidTerminate:
# In the command line, find the PID of your simulator process:
ps -p `pgrep launchd_sim`
# or if you have many simulators running:
ps -A | grep launchd_sim
# Find the PID of the WebContent process:
pgrep -P <simulator-pid> 'com.apple.WebKit.WebContent'
# kill it
kill <webcontent-pid>
# or if you want a one-lner:
kill $(pgrep -P $(pgrep launchd_sim) 'com.apple.WebKit.WebContent')
Run Code Online (Sandbox Code Playgroud)
要点在这里:https://gist.github.com/jasonbekolay/dad7c446ae1b02f174dc3eb3a5ea70ee
对我来说,仅当我的应用程序位于后台并且 iOS 缺乏用于终止我的应用程序中的 WKWebView 的其他应用程序的内存时,WKWebView 才会终止。如果您再次打开应用程序,WKWebView 将被破坏并被webViewWebContentProcessDidTerminate调用。
尝试按照@joemasilotti 指出的方式进行复制:
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |