android webview framework,android – Webview导致ANR

我编写了一个应用程序,它在Webview中显示html页面,这些页面在ViewPager中管理.一切正常,但是从一页翻到另一页时我有几个ANR. ANR数据转储显示主线程已通过ThreadedRenderer.nSyncAndDrawFrame()调用它调用本机方法,该方法显然与Renderer线程通信,并等待该线程完成绘制视图.由于这两个都在执行本机代码,因此很难弄清楚正在发生什么,但似乎Ren...
摘要由CSDN通过智能技术生成

我编写了一个应用程序,它在Webview中显示html页面,这些页面在ViewPager中管理.一切正常,但是从一页翻到另一页时我有几个ANR. ANR数据转储显示主线程已通过ThreadedRenderer.nSyncAndDrawFrame()调用它调用本机方法,该方法显然与Renderer线程通信,并等待该线程完成绘制视图.由于这两个都在执行本机代码,因此很难弄清楚正在发生什么,但似乎Renderer线程从未表示主线程要恢复,因此导致ANR.在ANR报告之前,logcat中没有任何内容表明存在任何问题.

有没有人有关于如何排除故障的建议?我假设对ThreadedRenderer.nSyncAndDrawFrame()的调用与Webview相关联,但我实际上没有任何东西可以确认.

问题是不可重复的,因为如果我重新启动应用程序并导航到ANR发生时显示的同一页面,则不会再次发生. Device是运行Android 5.1的Nexus 7.

主渲染器线程和渲染器线程的ANR堆栈跟踪:

"main" prio=5 tid=1 Native

| group="main" sCount=1 dsCount=0 obj=0x73547000 self=0xb4827800

| sysTid=1248 nice=-6 cgrp=default sched=0/0 handle=0xb6fd6bec

| state=S schedstat=( 0 0 0 ) utm=6035 stm=1406 core=0 HZ=100

| stack=0xbe5a6000-0xbe5a8000 stackSize=8MB

| held mutexes=

kernel: (couldn't read /proc/sel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值