WebViewにHTMLを読ませるとActivityが終了する
ドスパラ本店のRSS(shop.dospara.co.jp/hon/rss.xml)で配信されている記事を表示すると、Activityが勝手に終了する...。そのときのログ。
I/DEBUG ( 28): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** I/DEBUG ( 28): Build fingerprint: 'generic/sdk/generic/:1.6/Donut/20842:eng/test-keys' I/DEBUG ( 28): pid: 662, tid: 671 >>> jp.syoboi.android.LDRReader <<< I/DEBUG ( 28): signal 11 (SIGSEGV), fault addr 00000008 I/DEBUG ( 28): r0 00000002 r1 aa3dc5d0 r2 001abb68 r3 00000001 I/DEBUG ( 28): r4 001abc34 r5 00000000 r6 00000008 r7 00000000 I/DEBUG ( 28): r8 45918da0 r9 42575de0 10 42575dcc fp 00000001 I/DEBUG ( 28): ip 80000000 sp 45917b04 lr aa234483 pc aa239088 cpsr 00000030 I/DEBUG ( 28): #00 pc 00239088 /system/lib/libwebcore.so I/DEBUG ( 28): #01 lr aa234483 /system/lib/libwebcore.so I/DEBUG ( 28): stack: I/DEBUG ( 28): 45917ac4 00000000 I/DEBUG ( 28): 45917ac8 00000000 I/DEBUG ( 28): 45917acc 001ac595 [heap] I/DEBUG ( 28): 45917ad0 001ac4cc [heap] I/DEBUG ( 28): 45917ad4 0021ded8 [heap] I/DEBUG ( 28): 45917ad8 0021df64 [heap] I/DEBUG ( 28): 45917adc 001ac4cc [heap] I/DEBUG ( 28): 45917ae0 0021ded8 [heap] I/DEBUG ( 28): 45917ae4 aa237401 /system/lib/libwebcore.so I/DEBUG ( 28): 45917ae8 00000000 I/DEBUG ( 28): 45917aec 00000000 I/DEBUG ( 28): 45917af0 00000001 I/DEBUG ( 28): 45917af4 001abc34 [heap] I/DEBUG ( 28): 45917af8 df002777 I/DEBUG ( 28): 45917afc e3a070ad I/DEBUG ( 28): 45917b00 00000000 I/DEBUG ( 28): #00 45917b04 001abc34 [heap] I/DEBUG ( 28): 45917b08 001abb68 [heap] I/DEBUG ( 28): 45917b0c 00000000 I/DEBUG ( 28): 45917b10 00000000 I/DEBUG ( 28): 45917b14 aa234483 /system/lib/libwebcore.so I/DEBUG ( 28): 45917b18 00000001 I/DEBUG ( 28): 45917b1c aa3dc5d0 /system/lib/libwebcore.so I/DEBUG ( 28): 45917b20 00000000 I/DEBUG ( 28): 45917b24 45917bb8 I/DEBUG ( 28): 45917b28 002557b0 [heap] I/DEBUG ( 28): 45917b2c 001abac0 [heap] I/DEBUG ( 28): 45917b30 00000001 I/DEBUG ( 28): 45917b34 0021ded8 [heap] I/DEBUG ( 28): 45917b38 45917b9f I/DEBUG ( 28): 45917b3c 00000000 I/DEBUG ( 28): 45917b40 002c3824 [heap] I/DEBUG ( 28): 45917b44 00000001 I/DEBUG ( 28): 45917b48 002c5890 [heap] D/Zygote ( 30): Process 662 terminated by signal (11) I/ActivityManager( 53): Process jp.syoboi.android.LDRReader (pid 662) has died. I/WindowManager( 53): WIN DEATH: Window{43879e58 jp.syoboi.android.LDRReader/jp.syoboi.android.LDRReader.Activity.FeedsActivity paused=false} I/WindowManager( 53): WIN DEATH: Window{438b1de0 jp.syoboi.android.LDRReader/jp.syoboi.android.LDRReader.Activity.EntriesActivity paused=false} I/ActivityManager( 53): Start proc jp.syoboi.android.LDRReader for activity jp.syoboi.android.LDRReader/.Activity.FeedsActivity: pid=677 uid=10030 gids={3003} I/jdwp ( 677): received file descriptor 10 from ADB
Android 1.6のエミュレータとIS01のどちらでも問題が起こる。
いろいろ試してるうちに tableタグを消してたら発生しなくなることに気付いた。もしかして、と思って LayoutAlgorithm を SINGLE_COLUMN から元に戻したら解決。
// これがまずいって...
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
Android 2.2のエミュレータだと、SINGLE_COLUMN のままでも問題なしorz。
例外がcatchできなくていきなり終了するから、使わないようにしたほうが安全かな...。