Android 4.3特定崩溃调用PackageManager.getDrawable()

时间:2013-08-17 02:29:55

标签: android android-package-managers android-4.3-jelly-bean

我在运行Android 4.3的设备上的应用程序遇到了严重的崩溃。有问题的代码在Android 4.2及更低版本上运行良好。

我已将错误追踪到mPackageManager.getDrawable()的来电。每隔一段时间,调用此函数会导致我的应用程序被终止(不会引发异常)。有谁知道可能导致这种情况的原因?

输出如下(完整日志为here):

08-17 12:03:37.036: I/DEBUG(177): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-17 12:03:37.036: I/DEBUG(177): Build fingerprint:'google/razor/flo:4.3/JSS15J/748593:user/release-keys'
08-17 12:03:37.036: I/DEBUG(177): Revision: '0'
08-17 12:03:37.036: I/DEBUG(177): pid: 5687, tid: 5812, name: AsyncTask #1  >>> com.chrislacy.actionlauncher.pro <<<
08-17 12:03:37.036: I/DEBUG(177): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00005d68
08-17 12:03:37.186: I/DEBUG(177):     r0 74918cd0  r1 00005d68  r2 000001a8  r3 00000000
08-17 12:03:37.186: I/DEBUG(177):     r4 0000007a  r5 0000007a  r6 74918eb8  r7 0000007a
08-17 12:03:37.186: I/DEBUG(177):     r8 00005d68  r9 0000007a  sl 00000000  fp 00000000
08-17 12:03:37.186: I/DEBUG(177):     ip 4046dd38  sp 7aa261a0  lr 402bff88  pc 400a8e00  cpsr 28030010

... (snip)

08-17 12:03:37.196: I/DEBUG(177): backtrace:
08-17 12:03:37.196: I/DEBUG(177):     #00  pc 0001ce00  /system/lib/libc.so (memcpy+120)
08-17 12:03:37.196: I/DEBUG(177):     #01  pc 00074f84  /system/lib/libskia.so
08-17 12:03:37.196: I/DEBUG(177):     #02  pc 000744f8  /system/lib/libskia.so (SkBitmapProcShader::shadeSpan(int, int, unsigned int*, int)+52)
08-17 12:03:37.196: I/DEBUG(177):     #03  pc 00085a70  /system/lib/libskia.so (SkARGB32_Shader_Blitter::blitRect(int, int, int, int)+568)
08-17 12:03:37.196: I/DEBUG(177):     #04  pc 000cba2c  /system/lib/libskia.so (SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitter*)+368)
08-17 12:03:37.196: I/DEBUG(177):     #05  pc 000cbb24  /system/lib/libskia.so (SkScan::FillRect(SkRect const&, SkRegion const*, SkBlitter*)+152)
08-17 12:03:37.196: I/DEBUG(177):     #06  pc 000cbc90  /system/lib/libskia.so (SkScan::FillRect(SkRect const&, SkRasterClip const&, SkBlitter*)+84)
08-17 12:03:37.196: I/DEBUG(177):     #07  pc 0009b078  /system/lib/libskia.so (SkDraw::drawRect(SkRect const&, SkPaint const&) const+660)
08-17 12:03:37.196: I/DEBUG(177):     #08  pc 0008d754  /system/lib/libskia.so (SkCanvas::drawRect(SkRect const&, SkPaint const&)+696)
08-17 12:03:37.196: I/DEBUG(177):     #09  pc 0008f9ec  /system/lib/libskia.so (SkCanvas::drawRectCoords(float, float, float, float, SkPaint const&)+44)
08-17 12:03:37.196: I/DEBUG(177):     #10  pc 0001dc4c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
08-17 12:03:37.196: I/DEBUG(177):     #11  pc 0004decf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
08-17 12:03:37.196: I/DEBUG(177):     #12  pc 00027060  /system/lib/libdvm.so
08-17 12:03:37.196: I/DEBUG(177):     #13  pc 0002b5ec  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
08-17 12:03:37.196: I/DEBUG(177):     #14  pc 0005ff21  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
08-17 12:03:37.196: I/DEBUG(177):     #15  pc 0005ff4b  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
08-17 12:03:37.196: I/DEBUG(177):     #16  pc 00054ccb  /system/lib/libdvm.so
08-17 12:03:37.196: I/DEBUG(177):     #17  pc 0000ca58  /system/lib/libc.so (__thread_entry+72)
08-17 12:03:37.196: I/DEBUG(177):     #18  pc 0000cbd4  /system/lib/libc.so (pthread_create+208)

... (snip)

08-17 12:03:37.516: W/ActivityManager(523):   Force finishing activity com.chrislacy.actionlauncher.pro/com.chrislacy.launcher.Launcher
08-17 12:03:37.546: I/WindowState(523): WIN DEATH: Window{423d8448 u0 com.chrislacy.actionlauncher.pro/com.chrislacy.launcher.Launcher}
08-17 12:03:37.556: I/ActivityManager(523): Process com.chrislacy.actionlauncher.pro (pid 5687) has died.```

0 个答案:

没有答案