2012-04-14 4 views
7

ViewPager으로 빌드 된 Android 애플리케이션이 있고 각 페이지에 별도의 WebView가 있습니다. 모든 WebView은 다른 웹 사이트를 가리 킵니다. 예를 들어, Page1 : facebook, Page2 : Twitter, Page3 : Google+. 사용자는 페이지를 추가/제거 할 수 있습니다.WebView의 상태를 저장하고 ANDROID로 복원

mPager.setOffscreenPageLimit(1) (여기서 mPagerViewPager의 인스턴스 임). 즉, 사용자가 3. 페이지를 볼 때 첫 번째 조각이 삭제됩니다 (다시 볼 때 페이지가 다시 생성됨).

내가 원하는 것은 처음에 WebView의 상태를 저장하고 어딘가에 상태를 저장 한 다음 사용자가 볼 때 복원하는 것입니다. 그것은 페이지와 분명히 그 성가신를 다시로드하기 때문에. 사용자가 모든 스 와이프시 웹 페이지를 다시로드하지 않기를 바랍니다. 나는 시도해 보았습니다

mWebView.saveState(outState); 
mWebView.restoreState(savedInstanceState); 

그러나 작동하지 않는 것 같습니다. 웹뷰의 상태를 저장하고 복원하기위한 아이디어가 있습니까?

내가 사실 등

+0

이 문제에 대한 해결책이 있습니까? –

+0

아니요, mPager.setOffscreenPageLimit (3)을 설정했습니다. 여기서 3은 내 mPager의 전체 페이지입니다. 그러나 그것은 해결책이 아닙니다. – EvanBlack

+0

K 감사합니다 ....... –

답변

0

를 상태를 저장, 일부 클래스에서 웹보기 자체를 저장하는 시도, setOffscreenPageLimit() 왼쪽 또는 현재 페이지의 오른쪽 하나에 유지하는 페이지의 수를 설정합니다.

docsFragmentPagerAdapter 가입일 :

보이지는 뷰 구조가 파괴 될 수 있지만 사용자가 방문 메모리에 보존되는 각 페이지 의 단편. 이 은 조각 인스턴스가 임의의 양의 상태를 유지할 수 있기 때문에 상당한 양의 메모리를 사용할 수 있습니다.

WebViews는 메모리가 상당히 클 수 있기 때문에 안드로이드는 다시 필요할 때까지 삭제합니다.

관련 문제