WebViewでデータを保持する(Android)
質問
WebView#loadDataWithBaseURLでActivityにロードする生成されたHTML / JSのさまざまな部分があります。アクティビティのライフサイクル中に何度もロードしない方法はありますか?たとえば、ユーザーはメッセージを確認し、アプリを再度呼び出します。その時点で-アクティビティは停止し、おそらく破棄されます。再びロードされると、ユーザーが既に表示していたコンテンツのロードに支障をきたしたくありません。
解決
たとえば-ユーザーは メッセージを送信してから、アプリを再度呼び出します。 その時点で-アクティビティは 停止し、おそらく破壊された
ユーザーが Notification
に直接アクセスした場合、またはHOMEをクリックした場合、アクティビティは停止されますが破棄されません。これらの場合、変更しない限り、 WebView
はコンテンツを変更しません。
ユーザーが[戻る]を押すと、アクティビティは破棄されます。または、メモリの制約のためにAndroidがユーザーを閉じる必要があります。
BACKの場合、ユーザーは明示的にあなたに「離れる」と言っているので、データをリロードするのは理にかなっているようです。
メモリ制約の方法では、定義上、デバイスのメモリは不足しているため、フォアグラウンドに戻ったときにデータをリロードする必要があります。
他のヒント
[ホーム]をクリックし、後でアプリを再起動すると、WebViewのコンテンツが保持されます。 しかし、Intent(バーコードスキャナーなど)をトリガーすると、Intentが終了してアプリに戻った後、アプリのWebViewがリロードされました。
インテントが返されたときにWebViewコンテンツを保持できますか?