У меня проблема с моим веб-приложением для Android.
Приложение установлено на планшете (LGV700 - 4.4.2), который работает только для этой цели (питание 24/7).
Приложение представляет собой оболочку для веб-приложения с небольшими дополнительными функциями, загружаемыми с удаленного URL-адреса (веб-просмотр создается динамически в коде).
Проблема в том, что приложение случайным образом зависает/перестает реагировать на большинство сенсорных событий (обычно после длительного периода безотказной работы) и продолжается до тех пор, пока приложение не будет перезапущено.
Проверка приложения с помощью профилировщика показывает, что использование памяти велико, однако сборщик мусора, похоже, работает нормально, очищая всю неиспользуемую память, когда она вот-вот достигнет предела памяти.
Я попытался добавить свойство largeHeap и hardwareAccelerated в манифест, но, похоже, это не помогает.
Я не уверен, что это единственная проблема, но иногда приложение принудительно закрывается, и в logcat выдается следующая ошибка:
11-30 13:01:54.477 28591-28652/********* W/Adreno-EGLSUB﹕ <DequeueBuffer:736>: dequeue native buffer fail: Unknown error 2147483646, buffer=0x0, handle=0x0
11-30 13:01:54.487 28591-28652/********* W/Adreno-ES20﹕ <core_glFlush:52>: GL_OUT_OF_MEMORY
11-30 13:01:54.487 28591-28652/********* W/Adreno-EGLSUB﹕ <DequeueBuffer:736>: dequeue native buffer fail: Function not implemented, buffer=0x0, handle=0x0
11-30 13:01:54.487 28591-28652/********* E/chromium﹕ [ERROR:gles2_cmd_decoder.cc(2123)] [GroupMarkerNotSet(crbug.com/242999)!:549845A5]GL ERROR :GL_OUT_OF_MEMORY : GLES2DecoderImpl::PrepareTexturesForRender: <- error from previous GL command
11-30 13:01:54.487 28591-28652/********* E/chromium﹕ [ERROR:gles2_cmd_decoder.cc(4422)] Error: 5 for Command kDrawElements
11-30 13:01:54.487 28591-28652/********* W/Adreno-EGLSUB﹕ <DequeueBuffer:736>: dequeue native buffer fail: Function not implemented, buffer=0x0, handle=0x0
11-30 13:01:54.487 28591-28652/********* W/Adreno-EGL﹕ <qeglDrvAPI_eglSwapBuffers:3702>: EGL_BAD_SURFACE
11-30 13:01:54.487 28591-28652/********* W/OpenGLRenderer﹕ swapBuffers encountered EGL_BAD_SURFACE on 0xa542ff80, halting rendering...
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ ### ### ### ### ### ### ### ### ### ### ### ### ###
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ Chrome build fingerprint:
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ 1.0
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ 1
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ 45012863-7d3b-4c30-8ccf-e65394c57d85
11-30 13:01:54.777 28591-28652/********* W/google-breakpad﹕ ### ### ### ### ### ### ### ### ### ### ### ### ###
11-30 13:01:54.777 28591-28652/********* A/libc﹕ Fatal signal 11 (SIGSEGV), code 1, fault addr 0x54 in tid 28652 (RenderThread)
что выглядит как эта проблема: https://code.google.com/p/chromium/issues/detail?id=437017, но, похоже, это исправлено.
Когда приложение обнаруживает, что подключение к Интернету было потеряно, оно перезагружает веб-просмотр, используя функцию loadUrl с исходным URL-адресом.
Также стоит упомянуть, что я использую библиотеку «ANR-WatchDog» для обнаружения ошибок приложения, не отвечающего (проверяет, не отвечает ли основной поток более 5 секунд), однако при возникновении проблемы он молчит.
Любые идеи?