我在片段中有一个 webview。几个月来一直运行良好。我在玩嵌入其中的 HTML(生成的字符串),我认为它的字体参考不好。
结果是,现在在一台设备上,此 web视图在显示时总是出现段错误 - 但仅在我正在测试的一台设备(Galaxy Nexus)上 - 在其他设备上测试一切正常。它在 viewpager 的后台加载,所以我知道它可以正确初始化,但是当它显示时,它总是会在此设备上对应用程序进行分段错误。
所以看起来某处有一些缓存数据没有被清除。我不明白为什么相同的 apk 可以在所有其他设备上运行(所有 android 版本 - 但只在这台设备上崩溃。
我试图清除缓存使用
_web.clearCache(true);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
但没有区别。还有其他可以清除的缓存吗?我已经重新启动了手机 - 没有区别。
寻找有关如何解决此错误的任何想法 - 无论多么疯狂!
这是段错误-看起来与OpenGL相关--webview是否使用opengl作为字体?- webview 有字体缓存吗?
D/TilesManager( 5776): new EGLContext from framework: 50c5df28
D/GLWebViewState( 5776): Reinit shader
W/webcore ( 5776): skip viewSizeChanged as w is 0
D/GLWebViewState( 5776): Reinit transferQueue
D/MyPodV2 ( 5776): load page:0 - 0.0
D/MyPodV2 ( 5776): load page:720 - 100.0
F/libc ( 5776): Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1), thread 5776 (nelweb.mypod.v2)
I/DEBUG ( 121): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 121): Build fingerprint: 'samsung/yakjuxw/maguro:4.1.1/JRO03C/I9250XWLH2:user/release-keys'
I/DEBUG ( 121): pid: 5776, tid: 5776, name: nelweb.mypod.v2 >>> co.uk.sentinelweb.mypod.v2 <<<
I/DEBUG ( 121): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000008
I/DEBUG ( 121): r0 00000008 r1 585b7008 r2 00000010 r3 00000004
I/DEBUG ( 121): r4 56dbdb90 r5 56dbe9c0 r6 00000001 r7 00000004
I/DEBUG ( 121): r8 00000008 r9 00000001 sl 00000004 fp 00000001
I/DEBUG ( 121): ip 00000001 sp beac4180 lr 5863688c pc 5865f774 cpsr 80000010
I/DEBUG ( 121): d0 000000003e8374f1 d1 0000000000000000
I/DEBUG ( 121): d2 3e8374f100000000 d3 0000000000000000
I/DEBUG ( 121): d4 0000000000000000 d5 000000003f800000
I/DEBUG ( 121): d6 426d42bcc1248268 d7 3f80000000000000
I/DEBUG ( 121): d8 4411c6fc438013e9 d9 4507000000000000
I/DEBUG ( 121): d10 43e72bda4481c000 d11 43e670f943e670f9
I/DEBUG ( 121): d12 43e670f943e670f9 d13 bfa2695643f6cead
I/DEBUG ( 121): d14 00000000bd134ab6 d15 0000000000000000
I/DEBUG ( 121): d16 0000000800000000 d17 0000000000000000
I/DEBUG ( 121): d18 0000000000000000 d19 0000000000000000
I/DEBUG ( 121): d20 3ff0000000000000 d21 0000000000000000
I/DEBUG ( 121): d22 0000000000000000 d23 0000000000000000
I/DEBUG ( 121): d24 0000000000000000 d25 0000000000000000
I/DEBUG ( 121): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 121): d28 0000000000000000 d29 0000000000000000
I/DEBUG ( 121): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 121): scr 20000013
I/DEBUG ( 121):
I/DEBUG ( 121): backtrace:
I/DEBUG ( 121): #00 pc 00034774 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
I/DEBUG ( 121): #01 pc 0000b888 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
I/DEBUG ( 121):
I/DEBUG ( 121): stack:
I/DEBUG ( 121): beac4140 03d00000
I/DEBUG ( 121): beac4144 00000000
I/DEBUG ( 121): beac4148 5c7b3dd0
I/DEBUG ( 121): beac414c 586d79f8
I/DEBUG ( 121): beac4150 56dbea6c
I/DEBUG ( 121): beac4154 585b6c7c /dev/pvrsrvkm
I/DEBUG ( 121): beac4158 00000002
I/DEBUG ( 121): beac415c 00000004
I/DEBUG ( 121): beac4160 56dbea6c
I/DEBUG ( 121): beac4164 56dbdb90
I/DEBUG ( 121): beac4168 56dbe9bc
I/DEBUG ( 121): beac416c 00000000
I/DEBUG ( 121): beac4170 00000004
I/DEBUG ( 121): beac4174 00000023
I/DEBUG ( 121): beac4178 df0027ad
I/DEBUG ( 121): beac417c 00000000
I/DEBUG ( 121): #00 beac4180 56dbdb90
I/DEBUG ( 121): ........ ........
I/DEBUG ( 121): #01 beac4180 56dbdb90
I/DEBUG ( 121): beac4184 5863688c /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
I/DEBUG ( 121): beac4188 56dbdb90
I/DEBUG ( 121): beac418c 00000004
I/DEBUG ( 121): beac4190 00000004
I/DEBUG ( 121): beac4194 00000000
I/DEBUG ( 121): beac4198 00000005
I/DEBUG ( 121): beac419c 5863898c /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
I/DEBUG ( 121): beac41a0 56dbdb90
I/DEBUG ( 121): beac41a4 00000004
I/DEBUG ( 121): beac41a8 00000000
I/DEBUG ( 121): beac41ac 5868606c /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
I/DEBUG ( 121): beac41b0 00000005
I/DEBUG ( 121): beac41b4 58639a70 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so (glDrawArrays+804)
I/DEBUG ( 121): beac41b8 00000004
I/DEBUG ( 121): beac41bc 00000000
I/DEBUG ( 121):
I/DEBUG ( 121): memory near r1:
I/DEBUG ( 121): 585b6fe8 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 121): 585b6ff8 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 121): 585b7008 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 121): 585b7018 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 121): 585b7028 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 121):
I/DEBUG ( 121): memory near r4:
I/DEBUG ( 121): 56dbdb70 10000298 58ec5138 5dc1229f 00000298 ....8Q.X.".]....
I/DEBUG ( 121): 56dbdb80 58ca335c 5dbf356f 00000000 00000f9b \3.Xo5.]........
I/DEBUG ( 121): 56dbdb90 00000018 0000e7fd 00001c80 00001100 ................
I/DEBUG ( 121): 56dbdba0 00001100 00000024 000003aa 00000064 ....$.......d...
I/DEBUG ( 121): 56dbdbb0 00000064 00000064 00000064 00000004 d...d...d.......
I/DEBUG ( 121):
I/DEBUG ( 121): memory near r5:
I/DEBUG ( 121): 56dbe9a0 00000000 00000000 00000000 00000000 ................
I/DEBUG ( 121): 56dbe9b0 00000000 00000000 56dbe794 56dbe83c ...........V<..V
I/DEBUG ( 121): 56dbe9c0 56dbe86c 00000000 00000000 00000000 l..V............
I/DEBUG ( 121): 56dbe9d0 00000000 00000000 00000000 00000000 ................
I/DEBUG ( 121): 56dbe9e0 00000002 00000003 00000003 00000004 ................
I/DEBUG ( 121):
I/DEBUG ( 121): memory near sp:
I/DEBUG ( 121): beac4160 56dbea6c 56dbdb90 56dbe9bc 00000000 l..V...V...V....
I/DEBUG ( 121): beac4170 00000004 00000023 df0027ad 00000000 ....#....'......
I/DEBUG ( 121): beac4180 56dbdb90 5863688c 56dbdb90 00000004 ...V.hcX...V....
I/DEBUG ( 121): beac4190 00000004 00000000 00000005 5863898c ..............cX
I/DEBUG ( 121): beac41a0 56dbdb90 00000004 00000000 5868606c ...V........l`hX
I/DEBUG ( 121):
I/DEBUG ( 121): code around pc:
I/DEBUG ( 121): 5865f754 e781410c e28cc001 e15c0003 3afffffa .A........\....:
I/DEBUG ( 121): 5865f764 e8bd8010 e92d4010 e3a0c000 ea000004 .....@-.........
I/DEBUG ( 121): 5865f774 e5904000 e5014008 e5904004 e0800002 .@...@...@......
I/DEBUG ( 121): 5865f784 e5014004 e15c0003 e2811008 e28cc001 .@....\.........
I/DEBUG ( 121): 5865f794 3afffff6 e8bd8010 e92d4010 e3a0c000 ...:.....@-.....
I/DEBUG ( 121):
I/DEBUG ( 121): code around lr:
I/DEBUG ( 121): 5863686c e3530000 1a000005 e1a03007 e59c0018 ..S......0......
I/DEBUG ( 121): 5863687c e59c101c e59c2014 e1a0e00f e59cf024 ..... ......$...
I/DEBUG ( 121): 5863688c e2866001 e2855004 e5942e50 e3a03001 .`...P..P....0..
I/DEBUG ( 121): 5863689c e1560002 3affffeb e2840eed e1a01008 ..V....:........
I/DEBUG ( 121): 586368ac e280000c e1a02003 e8bd41f0 eaffe178 ..... ...A..x...
I/BootReceiver( 316): Copying /data/tombstones/tombstone_02 to DropBox (SYSTEM_TOMBSTONE)
更新 10/03/13:这是我用来停止缓存的代码 - 显然我有点绝望。
_web.clearCache(true);
_web.setAnimationCacheEnabled(false);
_web.setDrawingCacheEnabled(false);
_web.setAlwaysDrawnWithCacheEnabled(false);
_web.clearHistory();
_web.clearFormData();
webSettings.setJavaScriptEnabled(false);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setAppCacheMaxSize(0);
webSettings.setAppCachePath("");
webSettings.setAppCacheEnabled(false);
getActivity().deleteDatabase("webview.db");
getActivity().deleteDatabase("webviewCache.db");
webSettings.setDomStorageEnabled(false);
webSettings.setLoadsImagesAutomatically(false);
_web.setWillNotCacheDrawing(true);
webSettings.setBuiltInZoomControls(false);
webSettings.setSupportZoom(false);
webSettings.setSaveFormData(false);
//_web.setWillNotDraw(true);// loads but stops drawing
webSettings.setRenderPriority(WebSettings.RenderPriority.LOW);
有趣的是 _web.setWillNotDraw(true); 停止段错误但不绘制任何东西(这是合乎逻辑的),因此向我表明段错误必须在 web 视图中。绘图代码。