Память увеличивается при нажатии на веб-просмотр

Я загружаю веб-сайт, который загружает всю страницу, используя файлы Javascript, в WebView. Каждый раз, когда я загружаю страницу в веб-просмотр, она показывает, что в памяти

настройка> приложения> работает

Даже когда я выпускаю Webview, он также не освобождает память.

Я не кеширую ресурсы в Webview. Но когда я использовал инструменты для анализа памяти, он показывает, что ресурсы изображений кэшируются в памяти, которая не освобождается. Мой код здесь для ссылки:

    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?

Заранее спасибо.

1 ответ

Решение

WebView представляет собой сложный виджет пользовательского интерфейса и потребляет значительную память во время использования. До версии Andriod 4.4 API WebView.freeMemory() может помочь, в зависимости от того, что на самом деле использует закулисную память.

Некоторая память будет освобождена, когда вы закончите работу с WebView и вызовете WebView.destroy() и отсоедините ее от иерархии представления.

В Android 4.4 управление памятью происходит более автоматически внутри WebView, и WebView пытается освободить память, когда система находится под нагрузкой, и запускает onTrimMemory ( http://developer.android.com/reference/android/content/ComponentCallbacks2.html).

Другие вопросы по тегам