Я отображаю довольно большое изображение в веб-просмотре, так что функции пинч-масштабирования и другие удобства для просмотра уже доступны.
Отображается правильно с первого раза. Но после выхода из действия и возврата к нему приложение вылетает при ошибке OutofMemoryError, связанной с потоком веб-просмотра.
Я предпринял несколько попыток закрыть веб-просмотр, остановить поток или очистить его использование памяти, но безрезультатно. Вот примеры кода, который я добавил в свою деятельность 'onStop()
function
wv.stopLoading();
wv.clearCache(true);
//removeView(wv);
wv.clearView();
wv.freeMemory();
wv.destroy();
try {
Class.forName("android.webkit.WebView").getMethod("onPause", (Class[]) null).invoke(wv, (Object[]) null);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
В любом случае, не стесняйтесь критиковать любую из этих строк кода, но дело в том, что они никак не влияют на ошибку! Это связано с тем, что сам поток webviewcore не освобождает память.
Это тревожит меня, потому что даже если бы я использовал уменьшенное изображение, похоже, что это все равно в конечном итоге произойдет. Помощь