2012-07-03 5 views
2

"임의"웹 페이지가 포함 된 조각을 통해 넘겨주는 데 사용하는 ViewPager에 대한 작업이 있습니다. 웹 내용이 나를 제어하지 않습니다. FragmentStatePagerAdapter 및 최신 지원 라이브러리를 사용하고 있습니다. 각 조각의 레이아웃에는 "무작위"페이지를로드하는 webview가 있습니다. 사용자는 무한정 앞으로 넘길 수 있습니다.하드웨어 가속을 사용하여 ViewPager에서 WebView를 사용하여 Android 프로세스가 작동하지 않음

하드웨어 가속을 사용하도록 설정하면 한 번 스 와이프 한 후 seg 오류가 발생합니다 (덤프가 아래에 있음). 활동을위한 하드웨어 가속을 끄면 충돌이 발생하지 않지만 물론 webview 스크롤 및 뷰 페이저 전환은 매우 불안정합니다. 또한 YouTube와 같은 페이지에 퍼간 동영상을 재생할 수 없습니다.

특정 페이지에서 충돌이 발생하지 않습니다. 또한 크래시를 재현하는 데 필요한 수 차례의 스 와이프가 다양합니다. 처음 스 와이프 때로는 때로는 여러 번 걸리지 만 매우 일관성이 있습니다. 나는 응용 프로그램을 실행하는 동안 메모리 사용량을 확인하고 괜찮아 보인다 (숫양과 vram) - 괜찮아요 내가 너무 많이 사용하고 있다고 생각하지 않는 의미에서, 그리고 나는 낮은 mem 경고를받지 않습니다.

나는 내가 지금까지 해봤 모두 3.0 이상 기기에 문제를 공격했습니다

    4.0.3
  • 모토로라 xoon 실행 3.2.1
  • 갤럭시 넥서스 전화 실행을 실행
  • 도시바 REGZA 4.0.4 (fwiw, 전화에서 자주 발생하지 않음)

알려진 문제입니까? 해결 방법은 없습니까?

07-02 15:12:30.187: I/DEBUG(111): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 

07-02 15:12:30.187: I/DEBUG(111): Build fingerprint: 'TOSHIBA/tostab05/tostab05:4.0.3/IML74K/05.3.0012:user/release-keys' 

07-02 15:12:30.187: I/DEBUG(111): pid: 1538, tid: 1538 >>> xxx <<< 

07-02 15:12:30.187: I/DEBUG(111): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000043e 
07-02 15:12:30.187: I/DEBUG(111): r0 0000000b r1 02514ba0 r2 befbf378 r3 0000043e 

07-02 15:12:30.187: I/DEBUG(111): r4 020a43e8 r5 02070958 r6 00000000 r7 00000006 

07-02 15:12:30.187: I/DEBUG(111): r8 00000000 r9 020a2364 10 01d2d108 fp befbf6e4 

07-02 15:12:30.187: I/DEBUG(111): ip 409da55c sp befbf330 lr 409c3487 pc 409c349a cpsr 80000030 

07-02 15:12:30.187: I/DEBUG(111): d0 4488000044800000 d1 0000000044800000 

07-02 15:12:30.187: I/DEBUG(111): d2 4480000044801000 d3 00000000000000af 

07-02 15:12:30.187: I/DEBUG(111): d4 3f800000170000e0 d5 4480000044800000 

07-02 15:12:30.187: I/DEBUG(111): d6 4488000000000000 d7 4260000000000000 

07-02 15:12:30.187: I/DEBUG(111): d8 0000000000000000 d9 0000000300000038 

07-02 15:12:30.187: I/DEBUG(111): d10 00000000000002f0 d11 0000000000000000 

07-02 15:12:30.187: I/DEBUG(111): d12 0000000000000000 d13 0000000000000000 

07-02 15:12:30.187: I/DEBUG(111): d14 0000000000000000 d15 0000000000000000 

07-02 15:12:30.187: I/DEBUG(111): d16 0000000000000000 d17 3ff0000000000000 

07-02 15:12:30.187: I/DEBUG(111): d18 3fe0000000000000 d19 3fe000000112a880 

07-02 15:12:30.187: I/DEBUG(111): d20 3ff0000000000000 d21 8000000000000000 

07-02 15:12:30.187: I/DEBUG(111): d22 c000000000000000 d23 0000000000000000 

07-02 15:12:30.187: I/DEBUG(111): d24 0000000000000000 d25 3ff0000000000000 

07-02 15:12:30.187: I/DEBUG(111): d26 4010000000000000 d27 3ff0000000000000 

07-02 15:12:30.187: I/DEBUG(111): d28 0000000000000000 d29 3ff0000000000000 

07-02 15:12:30.187: I/DEBUG(111): d30 0000000000000000 d31 3ff0000000000000 

07-02 15:12:30.187: I/DEBUG(111): scr 80000013 

07-02 15:12:30.335: I/DEBUG(111):   #00 pc 0000c49a /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #01 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #02 pc 0000c682 /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #03 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #04 pc 0000c682 /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #05 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #06 pc 0000c682 /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #07 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #08 pc 0000c682 /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #09 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.343: I/DEBUG(111):   #10 pc 0000c682 /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):   #11 pc 00010d3c /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):   #12 pc 00057874 /system/lib/libandroid_runtime.so 
07-02 15:12:30.351: I/DEBUG(111):   #13 pc 0001ebf0 /system/lib/libdvm.so (dvmPlatformInvoke) 
07-02 15:12:30.351: I/DEBUG(111):   #14 pc 00058eac /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread) 

07-02 15:12:30.351: I/DEBUG(111): code around pc: 

07-02 15:12:30.351: I/DEBUG(111): 409c3478 f7fe6781 9010ffa3 f0044628 9f0df81f .g......(F...... 

07-02 15:12:30.351: I/DEBUG(111): 409c3488 ab13aa12 920b3701 9711930e 900f3801 .....7.......8.. 

07-02 15:12:30.351: I/DEBUG(111): 409c3498 f853e2fe 98107b04 990d463a f7fe67a3 ..S..{..:F...g.. 

07-02 15:12:30.351: I/DEBUG(111): 409c34a8 2f23fedf 82f4f200 f017e8df 0037002e ..#/..........7. 

07-02 15:12:30.351: I/DEBUG(111): 409c34b8 0043003a 00810061 0095008c 00ad00a2 :.C.a........... 

07-02 15:12:30.351: I/DEBUG(111): code around lr: 

07-02 15:12:30.351: I/DEBUG(111): 409c3464 460db095 920c4604 0800f04f 4646930d ...F.F..O.....FF 

07-02 15:12:30.351: I/DEBUG(111): 409c3474 1080f8d0 f7fe6781 9010ffa3 f0044628 .....g......(F.. 

07-02 15:12:30.351: I/DEBUG(111): 409c3484 9f0df81f ab13aa12 920b3701 9711930e .........7...... 

07-02 15:12:30.351: I/DEBUG(111): 409c3494 900f3801 f853e2fe 98107b04 990d463a .8....S..{..:F.. 

07-02 15:12:30.351: I/DEBUG(111): 409c34a4 f7fe67a3 2f23fedf 82f4f200 f017e8df .g....#/........ 

07-02 15:12:30.351: I/DEBUG(111): stack: 

07-02 15:12:30.351: I/DEBUG(111):  befbf2f0 00000000 

07-02 15:12:30.351: I/DEBUG(111):  befbf2f4 befbf30c [stack] 

07-02 15:12:30.351: I/DEBUG(111):  befbf2f8 0237c55c [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf2fc befbf364 [stack] 

07-02 15:12:30.351: I/DEBUG(111):  befbf300 409da430 /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):  befbf304 01d8c2d8 [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf308 409daa10 /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):  befbf30c 409c7d05 /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):  befbf310 00000000 

07-02 15:12:30.351: I/DEBUG(111):  befbf314 020a2364 [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf318 01d2d108 [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf31c 409c23f1 /system/lib/libhwui.so 

07-02 15:12:30.351: I/DEBUG(111):  befbf320 020a43e8 [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf324 02070958 [heap] 

07-02 15:12:30.351: I/DEBUG(111):  befbf328 df0027ad 

07-02 15:12:30.359: I/DEBUG(111):  befbf32c 00000000 

07-02 15:12:30.359: I/DEBUG(111): #00 befbf330 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf334 3f800000 

07-02 15:12:30.359: I/DEBUG(111):  befbf338 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf33c 44800000 /dev/ashmem/dalvik-heap (deleted) 

07-02 15:12:30.359: I/DEBUG(111):  befbf340 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf344 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf348 3f800000 

07-02 15:12:30.359: I/DEBUG(111):  befbf34c 02370001 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf350 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf354 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf358 befbf378 [stack] 

07-02 15:12:30.359: I/DEBUG(111):  befbf35c befbf378 [stack] 

07-02 15:12:30.359: I/DEBUG(111):  befbf360 befbf6a0 [stack] 

07-02 15:12:30.359: I/DEBUG(111):  befbf364 00000005 

07-02 15:12:30.359: I/DEBUG(111):  befbf368 befbf37c [stack] 

07-02 15:12:30.359: I/DEBUG(111):  befbf36c 0000000b 

07-02 15:12:30.359: I/DEBUG(111):  befbf370 01d8c2d8 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf374 00000006 

07-02 15:12:30.359: I/DEBUG(111):  befbf378 44800000 /dev/ashmem/dalvik-heap (deleted) 

07-02 15:12:30.359: I/DEBUG(111):  befbf37c 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf380 44880000 /dev/ashmem/dalvik-heap (deleted) 

07-02 15:12:30.359: I/DEBUG(111):  befbf384 020a43e8 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf388 02070958 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf38c 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf390 409c7d05 /system/lib/libhwui.so 

07-02 15:12:30.359: I/DEBUG(111):  befbf394 00000000 

07-02 15:12:30.359: I/DEBUG(111):  befbf398 020a2364 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf39c 01d2d108 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf3a0 befbf6e4 [stack] 

07-02 15:12:30.359: I/DEBUG(111):  befbf3a4 409c7d41 /system/lib/libhwui.so 

07-02 15:12:30.359: I/DEBUG(111): #01 befbf3a8 42600000 /dev/ashmem/dalvik-heap (deleted) 

07-02 15:12:30.359: I/DEBUG(111):  befbf3ac 020a43e8 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf3b0 00000040 

07-02 15:12:30.359: I/DEBUG(111):  befbf3b4 020a41a0 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf3b8 02070958 [heap] 

07-02 15:12:30.359: I/DEBUG(111):  befbf3bc 409c3685 /system/lib/libhwui.so 

답변

1

그래, 해결 방법과 크래시의 "원인"을 발견했습니다. 나는 원래의 코드에서 아무 것도 잘못하지 않는다고 생각하기 때문에 "원인"을 따옴표에 넣었습니다.

가 내 조각에 다음 코드를했다 : 나는 인플레이션 코드를 가지고가는 경우에, 어떤 이유로

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    ... 
    setHasOptionsMenu(true); 
    ... 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) 
{ 
    inflater.inflate(R.menu.options_menu, menu); 
} 

@Override 
public void onPrepareOptionsMenu(Menu menu) 
{ 
    ... // apply a menu strategy that enables/disables some items based on app state 
} 

을, 충돌이 더 이상 발생하지 않습니다. 이 문제를 해결하려면 작업 수준에서 메뉴를 확장 한 다음 조각 수준에서 메뉴 전략을 적용하는 것입니다. 왜 이런 일이 일어나는지 확신 할 수 없습니다. 차이가 나는 경우 현재 ABSherlock을 사용하지 않습니다.

+0

문제가 onCreateOptions에 있다는 것을 결코 짐작하지 못했습니다.이 질문을 발견했을 때 거의 포기하고 H/W 가속을 사용 중지했습니다. 고마워요! –