我的Android应用程序有时会被完全杀死,在搜索Logcat之后我得到了以下内容:
03-31 13:45:50.512: E/dalvikvm(14458): VM aborting
03-31 13:45:50.512: A/libc(14458): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 14458 (omation.isolace)
03-31 13:45:50.512: D/AEE/AED(131): $===AEE===AEE===AEE===$
03-31 13:45:50.512: D/AEE/AED(131): p 0 poll events 1 revents 0
03-31 13:45:50.512: D/AEE/AED(131): not know revents:0
03-31 13:45:50.512: D/AEE/AED(131): p 1 poll events 1 revents 0
03-31 13:45:50.512: D/AEE/AED(131): not know revents:0
03-31 13:45:50.512: D/AEE/AED(131): p 2 poll events 1 revents 1
03-31 13:45:50.512: D/AEE/AED(131): aed_main_fork_worker: generator 0x1300168, worker 0xbee0a9d8, recv_fd 15
03-31 13:45:50.512: D/AEE/AED(131): p 3 poll events 1 revents 0
03-31 13:45:50.512: D/AEE/AED(131): not know revents:0
03-31 13:45:50.514: I/DEBUG(14626): [OnPurpose Redunant in preset_info] pid: 14458, tid: 14458, name: omation.isolace >>> com.automation.isolace <<<
03-31 13:45:50.615: I/DEBUG(14626): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-31 13:45:50.615: I/DEBUG(14626): Build fingerprint: 'Lenovo/LenovoA3000-H/A3000:4.2.2/JDQ39/A3000_A422_011_022_140127_WW_C:user/release-keys'
03-31 13:45:50.615: I/DEBUG(14626): pid: 14458, tid: 14458, name: omation.isolace >>> com.automation.isolace <<<
03-31 13:45:50.615: I/DEBUG(14626): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
03-31 13:45:50.732: I/DEBUG(14626): r0 00000000 r1 00000000 r2 deadd00d r3 00000000
03-31 13:45:50.732: I/DEBUG(14626): r4 40c0a1b0 r5 0000020c r6 000685ec r7 00000001
03-31 13:45:50.732: I/DEBUG(14626): r8 000685ec r9 00000000 sl 00000000 fp 00000000
03-31 13:45:50.732: I/DEBUG(14626): ip 00004000 sp be8b7af0 lr 400b011c pc 40b9b064 cpsr 60000030
03-31 13:45:50.736: I/DEBUG(14626): backtrace:
03-31 13:45:50.736: I/DEBUG(14626): #00 pc 00046064 /system/lib/libdvm.so (dvmAbort+75)
03-31 13:45:50.736: I/DEBUG(14626): #01 pc 0003c0cd /system/lib/libdvm.so
03-31 13:45:50.737: I/DEBUG(14626): #02 pc 000746b7 /system/lib/libandroid_runtime.so (GraphicsJNI::allocateJavaPixelRef(_JNIEnv*, SkBitmap*, SkColorTable*)+130)
03-31 13:45:50.737: I/DEBUG(14626): #03 pc 000746db /system/lib/libandroid_runtime.so (JavaPixelAllocator::allocPixelRef(SkBitmap*, SkColorTable*)+18)
03-31 13:45:50.739: I/DEBUG(14626): #01 be8b7d08 404328c0 /system/lib/libjpeg.so
03-31 13:45:50.739: I/DEBUG(14626): be8b7d0c 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d10 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d14 40fae710 [heap]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d18 40bffe55 /system/lib/libdvm.so
03-31 13:45:50.739: I/DEBUG(14626): be8b7d1c 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d20 00000001
03-31 13:45:50.739: I/DEBUG(14626): be8b7d24 0000011d
03-31 13:45:50.739: I/DEBUG(14626): be8b7d28 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d2c be8b9368 [stack]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d30 be8b92b4 [stack]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d34 be8b92b4 [stack]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d38 40fae710 [heap]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d3c 4020d6b9 /system/lib/libandroid_runtime.so (GraphicsJNI::allocateJavaPixelRef(_JNIEnv*, SkBitmap*, SkColorTable*)+132)
03-31 13:45:50.739: I/DEBUG(14626): #02 be8b7d40 40bffba7 /system/lib/libdvm.so
03-31 13:45:50.739: I/DEBUG(14626): be8b7d44 00008000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d48 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d4c 000685ec
03-31 13:45:50.739: I/DEBUG(14626): be8b7d50 53a8b120
03-31 13:45:50.739: I/DEBUG(14626): be8b7d54 be8b9368 [stack]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d58 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d5c be8b92b4 [stack]
03-31 13:45:50.739: I/DEBUG(14626): be8b7d60 00000001
03-31 13:45:50.739: I/DEBUG(14626): be8b7d64 00000000
03-31 13:45:50.739: I/DEBUG(14626): be8b7d68 00000000
03-31 13:45:50.740: I/DEBUG(14626): be8b7d6c 0000011d
03-31 13:45:50.740: I/DEBUG(14626): be8b7d70 00000000
03-31 13:45:50.740: I/DEBUG(14626): be8b7d74 4020d6df /system/lib/libandroid_runtime.so (JavaPixelAllocator::allocPixelRef(SkBitmap*, SkColorTable*)+22)
03-31 13:45:50.748: I/DEBUG(14626): memory near r4:
03-31 13:45:50.748: I/DEBUG(14626): 40c0a190 00000000 00000000 00000000 00000000 ................
03-31 13:45:50.748: I/DEBUG(14626): 40c0a1a0 00000000 00000000 00000000 00000000 ................
03-31 13:45:50.748: I/DEBUG(14626): 40c0a1b0 40fae730 40fadbb8 00400000 08000000 0..@...@..@.....
03-31 13:45:50.748: I/DEBUG(14626): 40c0a1c0 06000000 00000000 00000000 3fe00000 ...............?
03-31 13:45:50.748: I/DEBUG(14626): 40c0a1d0 00200000 00800000 00008000 00006000 .. ..........`..
03-31 13:45:50.748: I/DEBUG(14626): memory near r6:
03-31 13:45:50.749: I/DEBUG(14626): 000685cc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685dc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685ec ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685fc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 0006860c ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): memory near r8:
03-31 13:45:50.749: I/DEBUG(14626): 000685cc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685dc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685ec ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 000685fc ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 0006860c ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): memory near ip:
03-31 13:45:50.749: I/DEBUG(14626): 00003fe0 ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 00003ff0 ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 00004000 ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 00004010 ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): 00004020 ffffffff ffffffff ffffffff ffffffff ................
03-31 13:45:50.749: I/DEBUG(14626): memory near sp:
03-31 13:45:50.749: I/DEBUG(14626): be8b7ad0 00000000 400b1d60 40c0a1b0 0000020c ....`..@...@....
03-31 13:45:50.749: I/DEBUG(14626): be8b7ae0 000685ec 00000001 df0027ad 00000000 .........'......
03-31 13:45:50.749: I/DEBUG(14626): be8b7af0 40f57eb8 6c756e28 0000296c 00000000 .~.@(null)......
03-31 13:45:50.749: I/DEBUG(14626): be8b7b00 00000000 00000000 00000000 00000000 ................
03-31 13:45:50.749: I/DEBUG(14626): be8b7b10 00000000 00000000 00000000 00000000 ................
03-31 13:45:50.749: I/DEBUG(14626): code around pc:
03-31 13:45:50.750: I/DEBUG(14626): 40b9b044 447a34d4 ee8af7d7 461d2300 b1525d1a .4zD.....#.F.]R.
03-31 13:45:50.750: I/DEBUG(14626): 40b9b054 18ad3301 7f00f5b3 e004d1f8 4a0a4798 .3...........G.J
03-31 13:45:50.750: I/DEBUG(14626): 40b9b064 f7d77015 490cee82 4a0c2006 44794c0c .p.....I. .J.LyD
03-31 13:45:50.750: I/DEBUG(14626): 40b9b074 f7d7447a 447ced1e f7d72000 6de3edce zD....|D. .....m
03-31 13:45:50.750: I/DEBUG(14626): 40b9b084 d1eb2b00 bf00e7eb deadd00d 0006aace .+..............
03-31 13:45:50.750: I/DEBUG(14626): code around lr:
03-31 13:45:50.750: I/DEBUG(14626): 400b00fc e1a00005 ebffffcf e1a06000 e5940000 .........`......
03-31 13:45:50.750: I/DEBUG(14626): 400b010c e3500000 0a000001 e1a00005 eb0001f2 ..P.............
03-31 13:45:50.750: I/DEBUG(14626): 400b011c e1a00006 e8bd8070 eb0001e3 eafffff3 ....p...........
03-31 13:45:50.750: I/DEBUG(14626): 400b012c 0003de54 e92d4070 e2505000 0a000018 T...p@-..PP.....
03-31 13:45:50.750: I/DEBUG(14626): 400b013c e59f406c e79f4004 e5943000 e3530000 l@...@...0....S.
03-31 13:45:50.750: I/DEBUG(14626): memory map around fault addr deadd00d:
03-31 13:45:50.750: I/DEBUG(14626): be899000-be8ba000 [stack]
03-31 13:45:50.750: I/DEBUG(14626): (no map for address)
03-31 13:45:50.750: I/DEBUG(14626): ffff0000-ffff1000 [vectors]
03-31 13:45:51.104: D/AEE/AED(14626): Skip for Exp level'0'
03-31 13:45:51.104: V/Provider/Settings(504): from settings cache , name = dropbox:SYSTEM_TOMBSTONE , value = null
03-31 13:45:51.104: D/AEE/AED(131): $===AEE===AEE===AEE===$
03-31 13:45:51.104: D/AEE/AED(131): p 0 poll events 1 revents 0
03-31 13:45:51.104: D/AEE/AED(131): not know revents:0
03-31 13:45:51.104: D/AEE/AED(131): p 1 poll events 1 revents 0
03-31 13:45:51.104: D/AEE/AED(131): not know revents:0
03-31 13:45:51.104: D/AEE/AED(131): p 2 poll events 1 revents 0
03-31 13:45:51.104: D/AEE/AED(131): not know revents:0
03-31 13:45:51.104: D/AEE/AED(131): p 3 poll events 1 revents 0
03-31 13:45:51.104: D/AEE/AED(131): not know revents:0
03-31 13:45:51.104: D/AEE/AED(131): p 4 poll events 1 revents 0
03-31 13:45:51.104: D/AEE/AED(131): not know revents:0
03-31 13:45:51.105: I/BootReceiver(504): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
03-31 13:45:51.156: D/IPCThreadState(504): [DN #5] BR_DEAD_BINDER cookie 0x56aaa128
03-31 13:45:51.156: D/IPCThreadState(504): [DN #5] BR_DEAD_BINDER cookie 0x5693fe80
03-31 13:45:51.156: D/IPCThreadState(504): [DN #5] BR_DEAD_BINDER cookie 0x579e0b60
03-31 13:45:51.156: D/IPCThreadState(504): [DN #5] BR_DEAD_BINDER cookie 0x5693ff18
03-31 13:45:51.156: D/IPCThreadState(504): [DN #5] BR_DEAD_BINDER cookie 0x56b09348
03-31 13:45:51.157: D/ADB_SERVICES(170): closing because is_eof=1 r=0 s->fde.force_eof=0
03-31 13:45:51.157: I/SurfaceFlinger(138): EventThread Client Pid (14458) disconnected by (138)
03-31 13:45:51.157: W/ADB_SERVICES(170): terminating JDWP 14458 connection: Try again
03-31 13:45:51.157: D/ADB_SERVICES(170): remove pid 14458 to jdwp process list
03-31 13:45:51.163: D/dalvikvm(504): GC_FOR_ALLOC freed 266K (2051), 28% free 9851K/13536K, paused 57ms, total 57ms
03-31 13:45:51.164: D/IPCThreadState(504): [DN #5] BR_CLEAR_DEATH_NOTIFICATION_DONE cookie 0x5693fe80
03-31 13:45:51.164: D/IPCThreadState(504): [DN #5] BR_CLEAR_DEATH_NOTIFICATION_DONE cookie 0x5693ff18
03-31 13:45:51.165: V/ActivityManager(504): Death received in com.android.server.am.ActivityManagerService$AppDeathRecipient@41aed290 for thread android.os.BinderProxy@41aeccf0
03-31 13:45:51.165: I/WindowState(504): WIN DEATH: Window{41a3ec48 u0 com.automation.isolace/com.automation.isolace.HomeView}
03-31 13:45:51.165: I/ActivityManager(504): Process com.automation.isolace (pid 14458) has died.
03-31 13:45:51.166: V/NetworkStats(504): setKernelCounterSet uid=10095 set=0
03-31 13:45:51.168: I/SurfaceTexture(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41cdc070,api:1) destroying EGLImage dpy=0x1 img=0x41cddba0
03-31 13:45:51.168: I/SurfaceTexture(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41cdc070,api:1) destroying EGLImage dpy=0x1 img=0x41cc79b0
03-31 13:45:51.168: I/SurfaceTexture(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41cdc070,api:1) destroying EGLImage dpy=0x1 img=0x41cd1b28
03-31 13:45:51.168: I/SurfaceTexture(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41cdc070,api:1) destroying EGLImage dpy=0x1 img=0x41cd4ff0
03-31 13:45:51.168: I/BufferQueue(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41ccba18,api:1) consumerDisconnect
03-31 13:45:51.169: I/BufferQueue(138): [com.automation.isolace/com.automation.isolace.HomeView](this:0x41ccba18,api:1) ~BufferQueue
03-31 13:45:51.213: I/SurfaceFlinger(138): [SurfaceFlinger] fps:1.737453,dur:3453.33,max:2520.10,min:50.06
03-31 13:45:51.228: D/dalvikvm(504): GC_FOR_ALLOC freed 35K (252), 27% free 9947K/13536K, paused 60ms, total 60ms
03-31 13:45:51.228: I/dalvikvm-heap(504): Grow heap (frag case) to 9.985MB for 131088-byte allocation
03-31 13:45:51.232: D/InputReader(504): AP_PROF:AppLaunch_dispatchPtr:Down:26500953
03-31 13:45:51.232: I/AP_PROF(504): unable to open /proc/mtprof/status entry
03-31 13:45:51.267: D/Zygote(139): Process 14458 terminated by signal (11)
事实上,我无法从Logcat了解为什么会发生这种情况的原因,我也无法弄清楚我的代码中可能导致此问题的部分。
更新
根据Nicola的回答,我再次复制了杀戮过程,在Fatal signal 11 (SIGSEGV)
之前,我确实找到了以下几行:
03-31 15:14:48.945: E/dalvikvm-heap(15312): Out of memory on a 427516-byte allocation.
03-31 15:14:48.945: I/dalvikvm(15312): "main" prio=5 tid=1 RUNNABLE
03-31 15:14:48.945: I/dalvikvm(15312): | group="main" sCount=0 dsCount=0 obj=0x40fbfa18 self=0x40faef10
03-31 15:14:48.945: I/dalvikvm(15312): | sysTid=15312 nice=0 sched=0/0 cgrp=apps handle=1074264156
03-31 15:14:48.945: I/dalvikvm(15312): | state=R schedstat=( 30224201008 6455675663 51891 ) utm=2378 stm=644 core=0
03-31 15:14:48.945: I/dalvikvm(15312): at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
03-31 15:14:48.945: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:447)
03-31 15:14:48.945: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:465)
03-31 15:14:48.945: I/dalvikvm(15312): at com.automation.isolace.Media.set_movies(Media.java:3096)
03-31 15:14:48.945: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_parse_response(Login.java:1205)
03-31 15:14:48.945: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_response_received(Login.java:865)
03-31 15:14:48.945: I/dalvikvm(15312): at com.automation.connections.MediaConnections$1.run(MediaConnections.java:223)
03-31 15:14:48.945: I/dalvikvm(15312): at android.os.Handler.handleCallback(Handler.java:725)
03-31 15:14:48.945: I/dalvikvm(15312): at android.os.Handler.dispatchMessage(Handler.java:92)
03-31 15:14:48.946: I/dalvikvm(15312): at android.os.Looper.loop(Looper.java:153)
03-31 15:14:48.946: I/dalvikvm(15312): at android.app.ActivityThread.main(ActivityThread.java:5299)
03-31 15:14:48.946: I/dalvikvm(15312): at java.lang.reflect.Method.invokeNative(Native Method)
03-31 15:14:48.946: I/dalvikvm(15312): at java.lang.reflect.Method.invoke(Method.java:511)
03-31 15:14:48.946: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
03-31 15:14:48.946: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-31 15:14:48.946: I/dalvikvm(15312): at dalvik.system.NativeStart.main(Native Method)
03-31 15:14:48.946: W/mHalJpgDec(15312): mHalJpgDec:: enter start L:195!!
03-31 15:14:48.946: W/mHalJpgDec(15312): mHalJpgDec:: cancel Decoder L:200!!
03-31 15:14:48.946: W/JpgDecPipe(15312): ::[UNLOCK] unlock , islock 1!!
03-31 15:14:48.946: D/JpgDecComp(15312): unlock!!
03-31 15:14:48.946: D/ImgScaler(15312): ::gdmaCtrUnlock, L:488!!
03-31 15:14:48.946: D/ImgScaler(15312): ::ScalerDeInit, reset_flag 0, L:890!!
03-31 15:14:48.946: I/iio/cdp(15312): [uninit] :E. meScenarioID: 11.
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [GlobalPipeCountDec] - E.
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [GlobalPipeCountDec] - X. Result: 1. count: 0.
03-31 15:14:48.946: I/CdpDrv(15312): {CdpDrv} [Uninit] - E. mInitCount: 1. mSysramUsageCount: 0.
03-31 15:14:48.946: I/CdpDrv(15312): {CdpDrv} [ProfilingPrint] [Event_CdpDrv_Uninit] atomic_dec:(0-th) ===> [start-->now: 0.027000 ms]
03-31 15:14:48.946: I/CdpDrv(15312): {CdpDrv} [Uninit] - X. Result: 1. mInitCount: 0. mFdSysram: -1. mSysramUsageCount: 0.
03-31 15:14:48.946: I/CdpDrv(15312): {CdpDrv} [ProfilingPrint] [Event_CdpDrv_Uninit] Exit:(1-th) ===> [start-->now: 0.058000 ms] [last-->now: 0.031000 ms]
03-31 15:14:48.946: I/CdpDrv(15312): {CdpDrv} [DestroyInstance]
03-31 15:14:48.946: I/iio/ifunc(15312): [ProfilingPrint] [Event_IspDrvShellImp_Uninit] delete mpM4UDrv:(0-th) ===> 0.035000 ms (Total time till now: 0.036000 ms)
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [uninit] - E. mInitCount(1)
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [ProfilingPrint] [Event_IspDrv_Uninit] atomic_dec:(0-th) ===> [start-->now: 0.008000 ms]
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [uninit] ISP Global Count: 0.
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [ProfilingPrint] [Event_IspDrv_Uninit] close isp mFd:(1-th) ===> [start-->now: 0.208000 ms] [last-->now: 0.200000 ms]
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [ProfilingPrint] [Event_IspDrv_Uninit] free(mpIspDrvRegMap):(2-th) ===> [start-->now: 0.226000 ms] [last-->now: 0.018000 ms]
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [uninit] - X. ret: 1. mInitCount: 0.
03-31 15:14:48.946: I/IspDrv(15312): {IspDrv} [ProfilingPrint] [Event_IspDrv_Uninit] Exit:(3-th) ===> [start-->now: 0.245000 ms] [last-->now: 0.019000 ms]
03-31 15:14:48.946: I/iio/ifunc(15312): [uninit] mInitCount(0)
03-31 15:14:48.946: D/ResMgrDrv(15312): [Uninit]More user(1)
03-31 15:14:48.947: I/iio/cdp(15312): [uninit] :X
03-31 15:14:48.947: I/iio/cdpb(15312): [uninit] - mu4InitRefCount(0), ret(1)
03-31 15:14:48.947: D/PipeMgrDrv(15312): [Unlock]OK,PipeMask(0x00000010)
03-31 15:14:48.947: D/PipeMgrDrv(15312): [Uninit]Last user(0)
03-31 15:14:48.947: D/ResMgrDrv(15312): [Uninit]Last user(0)
03-31 15:14:48.947: D/ImgScaler(15312): ::ScalerDeInit done, L:937!!
03-31 15:14:48.947: D/ImgScaler(15312): ::freeMEM, L:1843!!
03-31 15:14:48.947: D/JpgDecComp(15312): JpgDecComp::~JpgDecComp
03-31 15:14:48.947: D/ImgScaler(15312): ImgCdpPipe::~ImgCdpPipe
03-31 15:14:48.947: D/JpgDecPipe(15312): JpgDecPipe::~JpgDecPipe
03-31 15:14:48.947: D/skia(15312): SkiaJpeg:TRY_SW_PATH no_eoi 0, mSize 13460, rSize 3424, align rSize 3440, skSize 3424!!
03-31 15:14:48.947: W/skia(15312): Use JPEG SW Decoder
03-31 15:14:48.947: W/dalvikvm(15312): JNI WARNING: JNI method called with exception pending
03-31 15:14:48.947: W/dalvikvm(15312): in Landroid/graphics/BitmapFactory;.nativeDecodeByteArray:([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; (NewByteArray)
03-31 15:14:48.947: W/dalvikvm(15312): Pending exception is:
03-31 15:14:48.947: I/dalvikvm(15312): java.lang.OutOfMemoryError:
03-31 15:14:48.947: I/dalvikvm(15312): at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
03-31 15:14:48.947: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:447)
03-31 15:14:48.947: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:465)
03-31 15:14:48.947: I/dalvikvm(15312): at com.automation.isolace.Media.set_movies(Media.java:3096)
03-31 15:14:48.947: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_parse_response(Login.java:1205)
03-31 15:14:48.947: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_response_received(Login.java:865)
03-31 15:14:48.947: I/dalvikvm(15312): at com.automation.connections.MediaConnections$1.run(MediaConnections.java:223)
03-31 15:14:48.947: I/dalvikvm(15312): at android.os.Handler.handleCallback(Handler.java:725)
03-31 15:14:48.947: I/dalvikvm(15312): at android.os.Handler.dispatchMessage(Handler.java:92)
03-31 15:14:48.947: I/dalvikvm(15312): at android.os.Looper.loop(Looper.java:153)
03-31 15:14:48.947: I/dalvikvm(15312): at android.app.ActivityThread.main(ActivityThread.java:5299)
03-31 15:14:48.947: I/dalvikvm(15312): at java.lang.reflect.Method.invokeNative(Native Method)
03-31 15:14:48.947: I/dalvikvm(15312): at java.lang.reflect.Method.invoke(Method.java:511)
03-31 15:14:48.947: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
03-31 15:14:48.947: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-31 15:14:48.947: I/dalvikvm(15312): at dalvik.system.NativeStart.main(Native Method)
03-31 15:14:48.947: I/dalvikvm(15312): "main" prio=5 tid=1 NATIVE
03-31 15:14:48.947: I/dalvikvm(15312): | group="main" sCount=0 dsCount=0 obj=0x40fbfa18 self=0x40faef10
03-31 15:14:48.947: I/dalvikvm(15312): | sysTid=15312 nice=0 sched=0/0 cgrp=apps handle=1074264156
03-31 15:14:48.948: I/dalvikvm(15312): | state=R schedstat=( 30224201008 6455675663 51891 ) utm=2378 stm=644 core=0
03-31 15:14:48.948: D/dalvikvm(15312): dump native stack for : main
03-31 15:14:48.948: D/dalvikvm(15312): unwind backtrace
03-31 15:14:48.963: D/dalvikvm(15312): get native symbol
03-31 15:14:48.965: D/dalvikvm(15312): format backtrace line
03-31 15:14:48.965: I/dalvikvm(15312): #00 pc 000012a0 /system/lib/libcorkscrew.so (unwind_backtrace_thread+27)
03-31 15:14:48.965: I/dalvikvm(15312): #01 pc 0006118e /system/lib/libdvm.so (dvmDumpNativeStack(DebugOutputTarget const*, int)+53)
03-31 15:14:48.965: I/dalvikvm(15312): #02 pc 00054aaa /system/lib/libdvm.so (dvmDumpThreadEx(DebugOutputTarget const*, Thread*, bool)+329)
03-31 15:14:48.965: I/dalvikvm(15312): #03 pc 00054b4a /system/lib/libdvm.so (dvmDumpThread(Thread*, bool)+25)
03-31 15:14:48.965: I/dalvikvm(15312): #04 pc 00038eba /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #05 pc 0003c0cc /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #06 pc 000746b4 /system/lib/libandroid_runtime.so (GraphicsJNI::allocateJavaPixelRef(_JNIEnv*, SkBitmap*, SkColorTable*)+127)
03-31 15:14:48.965: I/dalvikvm(15312): #07 pc 000746da /system/lib/libandroid_runtime.so (JavaPixelAllocator::allocPixelRef(SkBitmap*, SkColorTable*)+17)
03-31 15:14:48.965: I/dalvikvm(15312): #08 pc 00049bac /system/lib/libskia.so (SkBitmap::allocPixels(SkBitmap::Allocator*, SkColorTable*)+56)
03-31 15:14:48.965: I/dalvikvm(15312): #09 pc 000b79f4 /system/lib/libskia.so (SkJPEGImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode)+4896)
03-31 15:14:48.965: I/dalvikvm(15312): #10 pc 000b2998 /system/lib/libskia.so (SkImageDecoder::decode(SkStream*, SkBitmap*, SkBitmap::Config, SkImageDecoder::Mode, bool)+172)
03-31 15:14:48.965: I/dalvikvm(15312): #11 pc 0007164c /system/lib/libandroid_runtime.so
03-31 15:14:48.965: I/dalvikvm(15312): #12 pc 00071af0 /system/lib/libandroid_runtime.so
03-31 15:14:48.965: I/dalvikvm(15312): #13 pc 0001e4d0 /system/lib/libdvm.so (dvmPlatformInvoke+112)
03-31 15:14:48.965: I/dalvikvm(15312): #14 pc 0004ddf8 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+499)
03-31 15:14:48.965: I/dalvikvm(15312): #15 pc 000278a0 /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #16 pc 0002b804 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
03-31 15:14:48.965: I/dalvikvm(15312): #17 pc 000613ce /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+373)
03-31 15:14:48.965: I/dalvikvm(15312): #18 pc 000692e8 /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #19 pc 000278a0 /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #20 pc 0002b804 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
03-31 15:14:48.965: I/dalvikvm(15312): #21 pc 000610a8 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+271)
03-31 15:14:48.965: I/dalvikvm(15312): #22 pc 0004a0d0 /system/lib/libdvm.so
03-31 15:14:48.965: I/dalvikvm(15312): #23 pc 0004d126 /system/lib/libandroid_runtime.so
03-31 15:14:48.965: I/dalvikvm(15312): #24 pc 0004decc /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+399)
03-31 15:14:48.965: I/dalvikvm(15312): #25 pc 00000db6 /system/bin/app_process
03-31 15:14:48.965: I/dalvikvm(15312): #26 pc 0001bd98 /system/lib/libc.so (__libc_init+64)
03-31 15:14:48.965: D/dalvikvm(15312): get native done
03-31 15:14:48.965: I/dalvikvm(15312): at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
03-31 15:14:48.965: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:447)
03-31 15:14:48.965: I/dalvikvm(15312): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:465)
03-31 15:14:48.965: I/dalvikvm(15312): at com.automation.isolace.Media.set_movies(Media.java:3096)
03-31 15:14:48.965: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_parse_response(Login.java:1205)
03-31 15:14:48.965: I/dalvikvm(15312): at com.automation.isolace.Login.xbmc_response_received(Login.java:865)
03-31 15:14:48.965: I/dalvikvm(15312): at com.automation.connections.MediaConnections$1.run(MediaConnections.java:223)
03-31 15:14:48.965: I/dalvikvm(15312): at android.os.Handler.handleCallback(Handler.java:725)
03-31 15:14:48.965: I/dalvikvm(15312): at android.os.Handler.dispatchMessage(Handler.java:92)
03-31 15:14:48.965: I/dalvikvm(15312): at android.os.Looper.loop(Looper.java:153)
03-31 15:14:48.965: I/dalvikvm(15312): at android.app.ActivityThread.main(ActivityThread.java:5299)
03-31 15:14:48.965: I/dalvikvm(15312): at java.lang.reflect.Method.invokeNative(Native Method)
03-31 15:14:48.965: I/dalvikvm(15312): at java.lang.reflect.Method.invoke(Method.java:511)
03-31 15:14:48.965: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
03-31 15:14:48.965: I/dalvikvm(15312): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-31 15:14:48.965: I/dalvikvm(15312): at dalvik.system.NativeStart.main(Native Method)
03-31 15:14:48.965: E/dalvikvm(15312): VM aborting
报告的行是:
Bitmap decodedByte = BitmapFactory.decodeByteArray(
decodedString, 0, decodedString.length);
但这行包围了try,catch:
try {
byte[] decodedString = Base64.decode(def_value,
Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(
decodedString, 0, decodedString.length);
movies_bitmaps.put(movie_id_num_loader, decodedByte);
} catch (OutOfMemoryError oom) {
// So the OOM error got be catched here, So why causing a problem if it's the reason?
}
答案 0 :(得分:2)
似乎ART无法为您尝试解码的Bitmap
分配内存。
您可以看到崩溃发生在本机级别:
/system/lib/libdvm.so (dvmAbort+75)
03-31 13:45:50.736: I/DEBUG(14626): #01 pc 0003c0cd /system/lib/libdvm.so
03-31 13:45:50.737: I/DEBUG(14626): #02 pc 000746b7 /system/lib/libandroid_runtime.so (GraphicsJNI::allocateJavaPixelRef(_JNIEnv*, SkBitmap*, SkColorTable*)+130)
03-31 13:45:50.737: I/DEBUG(14626): #03 pc 000746db /system/lib/libandroid_runtime.so (JavaPixelAllocator::allocPixelRef(SkBitmap*, SkColorTable*)+18)
03-31 13:45:50.737: I/DEBUG(14626): #04 pc 00049bac /system/lib/libskia.so (SkBitmap::allocPixels(SkBitmap::Allocator*, SkColorTable*)+56)
可能由于某种原因无法分配,或者分配了太多内存。
调试它崩溃了。也许它发生在你试图解码位图的地方,寻找这些线。