Процесс рендеринга webView (11521) убивает (OOM или обновление), убивает приложениеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Процесс рендеринга webView (11521) убивает (OOM или обновление), убивает приложение

Сообщение Anonymous »


Мой логарифм показывает это, и приложение закрывается. Эта ошибка возникает не на всех телефонах, а на некоторых.

Это проблема WebView, поскольку loadData не выполняет никаких отдельных действий.

Процесс рендеринга webView (11521) завершился (OOM или обновление) не был обработан всеми связанными веб-просмотрами, что привело к закрытию приложения

Я знал, что это пришло из WebView, и видел подобные случаи.

я добавил, но изменений не было

*ps справочный сайт https://developer.android.com/develop/u ... view?hl=ko

setRendererPriorityPolicy(RENDERER_PRIORITY_BOUND, true) мой код

coupangWeb.settings.apply { javaScriptEnabled = правда } coupangWeb.addOnAttachStateChangeListener(объект: View.OnAttachStateChangeListener{ переопределить fun onViewAttachedToWindow(v: View) { webFrame.layoutParams.height = WindowManager.LayoutParams().width } переопределить удовольствие onViewDetachedFromWindow(v: View) {} }) coupangWeb.webViewClient = объект: WebViewClient() { переопределить удовольствие mustOverrideUrlLoading(view: WebView?, url: String): Boolean { val намерение = намерение (Intent.ACTION_VIEW) намерение.данные = Uri.parse(url) Intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK или Intent.FLAG_ACTIVITY_SINGLE_TOP Holder.itemView.context.startActivity(намерение) вернуть истину } } coupangWeb.setRendererPriorityPolicy(RENDERER_PRIORITY_BOUND, true) вал HTML = "" + "" + "new PartnersCoupang.G({someThing});" + "" + "" coupangWeb.loadData(html, «текст/html», «UTF8») Я изменил код

val superSafeWebView = Holder.itemView.findViewById(R.id.coupang_web)//WebView(holder.itemView.context) вар SafeBrowsingIsInitialized: Boolean = false //superSafeWebView.webViewClient = MyRendererTrackingWebViewClient(holder.itemView) val webView = Holder.itemView.findViewById(R.id.coupang_web) superSafeWebView.settings.apply { javaScriptEnabled = правда } superSafeWebView.addOnAttachStateChangeListener(объект: View.OnAttachStateChangeListener{ переопределить fun onViewAttachedToWindow(v: View) { webFrame.layoutParams.height = WindowManager.LayoutParams().width } переопределить удовольствие onViewDetachedFromWindow(v: View) {} }) superSafeWebView.webViewClient = объект: MyRendererTrackingWebViewClient(holder.itemView) { переопределить удовольствие mustOverrideUrlLoading(view: WebView?, url: String): Boolean { val намерение = намерение (Intent.ACTION_VIEW) намерение.данные = Uri.parse(url) Intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK или Intent.FLAG_ACTIVITY_SINGLE_TOP Holder.itemView.context.startActivity(намерение) вернуть истину } } superSafeWebView.setRendererPriorityPolicy(RENDERER_PRIORITY_BOUND, true) вал HTML = "" + "" + "new PartnersCoupang.G({someThing});" + "" + "" если (WebViewFeature.isFeatureSupported(WebViewFeature.START_SAFE_BROWSING)) { WebViewCompat.startSafeBrowsing(holder.itemView.context, ValueCallback { успех -> SafeBrowsingIsInitialized = правда если (!успех) { Log.e("MY_APP_TAG", "Невозможно инициализировать безопасный просмотр!") } еще { Log.e("MY_APP_TAG", "способен") //superSafeWebView?.loadData(html, "text/html", "UTF8") superSafeWebView?.loadDataWithBaseURL(null, html, "text/html", "UTF8", null) } }) } открытый класс MyRendererTrackingWebViewClient (valviews: View): WebViewClient() { частная переменная mWebView: WebView? = ноль переопределить удовольствие onRenderProcessGone (представление: WebView, деталь: RenderProcessGoneDetail): Boolean { если (!detail.didCrash()) { // Рендерер закрыт, потому что в системе закончилась память. Приложение // можно корректно восстановить, создав новый экземпляр WebView в // передний план. Log.e("MY_APP_TAG", ("Система завершила процесс рендеринга WebView" + "вернуть память. Воссоздать...")) mWebView?.также { webView -> val webViewContainer: ViewGroup =views.findViewById(R.id.coupang_web) webViewContainer.removeView(webView) webView.destroy() мВебвиев = ноль } вернуть истину } Log.e("MY_APP_TAG", "Процесс рендеринга WebView завершился сбоем!") вернуть ложь } } Это тоже не работает
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Docker убивает Java-контейнер из-за OOM, но в статистике JMX нет признаков высокого использования памяти
    Anonymous » » в форуме JAVA
    0 Ответы
    70 Просмотры
    Последнее сообщение Anonymous
  • Docker убивает Java-контейнер из-за OOM, но в статистике JMX нет признаков высокого использования памяти [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Linux OOM Killer и Java-процесс
    Anonymous » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Linux OOM Killer и Java-процесс
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Почему оболочка adb am kill не убивает процесс?
    Гость » » в форуме Android
    0 Ответы
    41 Просмотры
    Последнее сообщение Гость

Вернуться в «Android»