由于在我考虑在此处发布问题和我的解决方案之前找不到任何人报告此行为,因此它可以帮助遇到此问题的其他人。我们的应用在 ICS 之前的设备上运行良好。我们在 Galaxy Nexus 和 ICS 模拟器上测试了我们的应用程序,发现了以下类型的奇怪进程崩溃:
dlmalloc 中的堆内存损坏
dlfree 中的堆内存损坏
信号 11 (SIGSEGV),故障地址 deadbaad
问题是崩溃发生在本机空间中,因此没有任何直接影响它的自行编写的代码。由于我们处理列表中的大量图像,并且系统为这些图像分配位图,唯一想到的是一些糟糕的位图处理。我们遵循了网络上的所有最佳实践,我们甚至帮助 GC 通过调用bitmap.recycle()
. 无论如何,由于某些未知原因,该应用程序在 Android ICS 4.0 上不断崩溃。