我正在尝试避免webview在方向改变时重新渲染网页。
我的活动具有固定的方向为纵向,但单击一个按钮后,我正在将活动的方向更改为横向和纵向。
当我更改活动的方向时,我的web视图需要时间来呈现/刷新页面。我的网页,网页视图正在渲染的是本地的,仍然需要时间(大约2-4秒)来显示页面的内容,并且我在过渡时间内看到空白的白屏。
我尝试通过调用以下函数来保存web视图的状态:
// Before switching calling
Bundle webViewState;
webViewState = new Bundle();
Webview.saveState(webViewState);
// When switching done then calling.
Webview.restoreState(webViewState);但是正如android sdk文档中提到的,我们需要在活动周期的onSaveInstanceState和onRestoreInstanceState中调用这些函数,所以在这种情况下我会崩溃,因为我没有从活动周期调用这些函数。
是否有人有解决此问题的方法/解决方案。
更新:在我的应用程序中,我使用了set orientation,所以我不能使用onSaveInstanceState和onRestoreInstanceState,因为当我们有固定的方向时,这些函数不会被调用。
发布于 2013-11-14 22:03:33
页面会重新呈现,因为您的活动在方向更改时会被销毁并重新创建。在清单中更新您的活动:
<activity android:name="..."
android:configChanges="orientation|screenSize" .../>这将防止系统在方向更改时重新创建您的活动。
发布于 2013-11-14 21:37:57
我认为您应该看看文档的这一部分:Handling the Configuration Change Yourself
https://stackoverflow.com/questions/19979050
复制相似问题