我遇到了Android 1.6的奇怪问题
我有一个具有ListView的应用程序(在Activity#1中找到)。
用户可以单击ListView中的一行,并进入第二个活动(活动#2)。
用户可以使用后退按钮返回ListView。
问题在于,如果用户在从活动#2返回后向下滚动列表,则应用程序崩溃,但不会留下传统的堆栈跟踪。
如果我看看LogCat,我会在崩溃前看到以下内容(见下文)。
另外一个奇怪的是,当我附加调试器以试图找出错误时,我无法重现错误!
关于LogCat在这里告诉我什么的想法?在下面显示的日志末尾附近有一小段表示“调试器自杀以释放僵尸!”,这听起来像一个记忆泄漏,但谷歌没有给我这个错误的运气。
关于下一步尝试的想法?
01-07 13:49:36.234: WARN/UsageStats(1018): Failed to persist new stats
01-07 13:49:37.570: INFO/DEBUG(10977): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-07 13:49:37.570: INFO/DEBUG(10977): Build fingerprint: 'verizon/voles/sholes/sholes:2.0.1/ESD56/20996:user/release-keys'
01-07 13:49:37.570: INFO/DEBUG(10977): pid: 12291, tid: 12292 >>> com.ggggg.dot <<<
01-07 13:49:37.570: INFO/DEBUG(10977): signal 11 (SIGSEGV), fault addr 00000004
01-07 13:49:37.570: INFO/DEBUG(10977): r0 00000004 r1 40024108 r2 00000004 r3 4185dfd4
01-07 13:49:37.570: INFO/DEBUG(10977): r4 00000000 r5 00000000 r6 40024108 r7 4185dfa8
01-07 13:49:37.570: INFO/DEBUG(10977): r8 100ffcf8 r9 4185dfa0 10 4185df8c fp 0013e8f8
01-07 13:49:37.570: INFO/DEBUG(10977): ip ad36c2ec sp 100ffce0 lr ad32995f pc afb04524 cpsr 00000010
01-07 13:49:37.586: DEBUG/dalvikvm(12291): GC freed 2278 objects / 266992 bytes in 99ms
01-07 13:49:37.664: INFO/DEBUG(10977): #00 pc 00004524 /system/lib/libcutils.so
01-07 13:49:37.688: INFO/DEBUG(10977): #01 pc 0002995c /system/lib/libandroid_runtime.so
01-07 13:49:37.688: INFO/DEBUG(10977): #02 pc 00048cf4 /system/lib/libandroid_runtime.so
01-07 13:49:37.688: INFO/DEBUG(10977): #03 pc 0000ecb4 /system/lib/libdvm.so
01-07 13:49:37.688: INFO/DEBUG(10977): #04 pc 000387c4 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #05 pc 000139b8 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #06 pc 00019338 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #07 pc 00018804 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #08 pc 0004eea0 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #09 pc 0004eec8 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #10 pc 00044aaa /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #11 pc 00044b36 /system/lib/libdvm.so
01-07 13:49:37.711: INFO/DEBUG(10977): #12 pc 00044fc0 /system/lib/libdvm.so
01-07 13:49:37.719: INFO/DEBUG(10977): #13 pc 000425c4 /system/lib/libdvm.so
01-07 13:49:37.719: INFO/DEBUG(10977): #14 pc 0000fd74 /system/lib/libc.so
01-07 13:49:37.719: INFO/DEBUG(10977): #15 pc 0000f840 /system/lib/libc.so
01-07 13:49:37.719: INFO/DEBUG(10977): code around pc:
01-07 13:49:37.719: INFO/DEBUG(10977): afb04514 e8bd4010 e12fff1e e92d4010 e1a02000
01-07 13:49:37.719: INFO/DEBUG(10977): afb04524 e5920000 e3e03a0f e28fe004 e2401001
01-07 13:49:37.719: INFO/DEBUG(10977): afb04534 e243f03f 3afffff9 e2810001 e8bd4010
01-07 13:49:37.719: INFO/DEBUG(10977): code around lr:
01-07 13:49:37.719: INFO/DEBUG(10977): ad32994c fffeb07c 00005e20 4604b510 f7f03004
01-07 13:49:37.719: INFO/DEBUG(10977): ad32995c 2801ea4e 6060d104 68436820 47984620
01-07 13:49:37.719: INFO/DEBUG(10977): ad32996c bf00bd10 461eb5f7 f1d24c1a bf380301
01-07 13:49:37.719: INFO/DEBUG(10977): stack:
01-07 13:49:37.719: INFO/DEBUG(10977): 100ffca0 00000000
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffca4 afe0f028 /system/lib/libc.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffca8 00000001
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcac 300040ac
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb0 00000001
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb4 100ffd28
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb8 418cd52c /dev/ashmem/dalvik-LinearAlloc (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcbc 418cd52c /dev/ashmem/dalvik-LinearAlloc (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc0 000002a4
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc4 ad061e8d /system/lib/libdvm.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc8 100ffd28
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffccc ad058201 /system/lib/libdvm.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd0 40024108 /dev/ashmem/mspace/dalvik-heap/zygote/0 (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd4 0000000d
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd8 df002777
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcdc e3a070ad
01-07 13:49:37.727: INFO/DEBUG(10977): #00 100ffce0 00000000
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffce4 ad32995f /system/lib/libandroid_runtime.so
01-07 13:49:37.727: INFO/DEBUG(10977): #01 100ffce8 100ffd18
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcec ad348cf9 /system/lib/libandroid_runtime.so
01-07 13:49:38.344: INFO/DEBUG(10977): debuggerd committing suicide to free the zombie!
01-07 13:49:38.352: INFO/ActivityManager(1018): Process com.ggggg.dot (pid 12291) has died.
01-07 13:49:38.359: INFO/WindowManager(1018): WIN DEATH: Window{44a51e60 com.ggggg.dot/com.ggggg.dot.Dot paused=false}
01-07 13:49:38.375: WARN/UsageStats(1018): Unexpected resume of com.android.launcher while already resumed in com.ggggg.dot
01-07 13:49:38.383: DEBUG/Zygote(986): Process 12291 terminated by signal (11)
01-07 13:49:38.391: INFO/DEBUG(12309): debuggerd: Nov 25 2009 17:44:54
01-07 13:49:38.406: WARN/InputManagerService(1018): Got RemoteException sending setActive(false) notification to pid 12291 uid 10078
01-07 13:50:06.844: DEBUG/dalvikvm(4885): GC freed 15 objects / 600 bytes in 113ms
答案 0 :(得分:2)
您应该在http://code.google.com/p/android/issues/entry报告此类原生崩溃(选择“开发人员错误报告”模板)。包括你在这里所包含的内容,如果可以的话,请包括你的应用程序(或其有效成分),以便我们可以重现崩溃以找到问题并验证修复。
对于奇怪的堆栈跟踪,这是因为这是本机代码中的崩溃。谷歌开发人员拥有从那些“pc”(程序计数器)地址到符号的映射,因此我们可以找出本地代码中发生这种情况的位置。 (Typeface_unref,因为它发生,所以这似乎不太可能是Droid特定的。)
[僵尸“指的是崩溃的过程。 debuggerd只是告诉你它不是为了调试而离开它 - 它假设你是一个用户而只是想要继续你的生活而清除它。]
这个特殊的bug已经修复了;修复应该在2.1之后的第一个版本中。
答案 1 :(得分:1)
老兄,试着清除任何类型的缓存......特别是图片。 当您使用列表视图时,请尝试不要每次都针对convertview创建新视图
我遇到了类似的问题。这是我的帖子SIGNAL 11 SIGSEGV crash Android
答案 2 :(得分:0)
这是一个非常低级别的异常,表示Android本身存在错误。基于LogCat转储,该错误可能是DROID / Milestone的唯一,但我不确定。如果您确实在摩托罗拉设备上遇到此错误,我建议您在appropriate MOTODEV message board上发布堆栈跟踪,因为这将是调查问题的最快方法。