문제

JavaScript 파일을 사용하여 전체 페이지를 WebView로로드하는 웹 사이트를로드합니다.페이지를 웹 뷰로로드 할 때마다

에서 일부 메모리가 증가했습니다.

설정> 앱> 실행

웹뷰를 해제하면 메모리가 해제되지 않습니다.

웹뷰에서 자원을 캐싱하지 않습니다.그러나 메모리를 분석하는 악기를 사용했을 때 이미지 리소스가 해제되지 않는 메모리에 이미지가 캐시됩니다. 내 코드는 Ref :

    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    Intent in = getIntent();
    String page_url = in.getStringExtra("link");
    Log.i("display","url :"+page_url);
    if(deleteDatabase("webview.db") && deleteDatabase("webviewCache.db")){
        Toast.makeText(this, "Delete Webvie data base successfully",Toast.LENGTH_SHORT).show();
    }
    webview = (WebView) findViewById(R.id.webpage);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebViewClient(new WebViewClient());
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setAppCacheEnabled(false);
    webview.loadUrl(page_url);
    webview.clearHistory();
    webview.clearFormData();
    webview.clearCache(true);
.

누구든지 누락 된 곳을 안내 할 수 있습니까?WebView로로드하는 메모리로드를 어떻게 최적화 할 수 있습니까?

미리 감사드립니다.

도움이 되었습니까?

해결책

WebView는 복잡한 UI 위젯이며 사용하는 동안 중요한 메모리를 소비합니다.AndrioD 4.4 이전에, WebView.FreemMemory () API는 실제로 장면 뒤의 메모리를 사용하는 것에 따라 도움이 될 수 있습니다.

WebView로 완료되고 WebView.Destroy ()를 호출하고 View 계층에서 분리 할 때 일부 메모리가 회수됩니다.

Android 4.4 메모리 관리는 WebView 내에서 자동으로 자동으로 시스템이로드되고있는 경우 메모리를 확보하고 ontrimmemory ( http://developer.android.com/reference/android/content/componentcallbacks2.html#ontrimmemory (int) ).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top