Так как я не мог найти кого-либо, сообщившего об этом, прежде чем я подумал о публикации проблемы и моем решении, чтобы она помогла другим, у кого эта проблема. Наше приложение отлично работало на устройствах до ICS. Мы протестировали наше приложение на Galaxy Nexus и эмулятор ICS и увидели странные сбои процесса следующего вида:
КОРРУПЦИЯ ПАМЯТИ ПАМЯТИ В dlmalloc
КОРРУПЦИЯ ПАМЯТИ ПАМЯТИ В dlfree
сигнал 11 (SIGSEGV), ошибка addr deadbaad
Проблема заключается в том, что сбой произошел в родном пространстве, поэтому не было собственного кода, который напрямую повлиял на него. Поскольку мы обрабатываем много изображений в списках, и система выделяет растровые изображения для тех, на что приходило в голову, была некоторая плохая обработка растровых изображений. Мы следовали всем лучшим практикам в Интернете, и мы даже помогли GC собрать ненужные ресурсы, позвонив bitmap.recycle()
. Во всяком случае, по какой-то неизвестной причине приложение постоянно разбилось на Android ICS 4.0.