通過(guò)webview 開(kāi)發(fā)的頁(yè)面桃漾, 在app 進(jìn)入后臺(tái)后過(guò)段時(shí)間在切到前臺(tái)時(shí)會(huì)出現(xiàn)web 頁(yè)面白屏。
出現(xiàn)問(wèn)題的原因:webview 有獨(dú)立與app 的內(nèi)容進(jìn)程饶氏,當(dāng)app在后臺(tái)察滑, 并且手機(jī)的內(nèi)存占用較大時(shí),系統(tǒng)會(huì)收回webProcessContent 進(jìn)程蚪缀,從而導(dǎo)致web頁(yè)面出現(xiàn)白屏秫逝。
處理方法:當(dāng)web進(jìn)程被收回時(shí)webview 會(huì)調(diào) webViewWebContentProcessDidTerminate 代理。我們可以在此代理中執(zhí)行 [self.webView reload] 方法來(lái)恢復(fù)之前的頁(yè)面 ( 使用reload 方法恢復(fù)時(shí)询枚,頁(yè)面中之前輸入的內(nèi)容不會(huì)消失 )
提示: 部分web 框架在調(diào) relaod 方法時(shí)會(huì)出報(bào)403 錯(cuò)誤违帆。 具體原因還沒(méi)弄清楚, 會(huì)繼續(xù)研究金蜀。所以用到webview 的reload 方法時(shí)請(qǐng)做好測(cè)試