Excepción rara y aparentemente imposible de Android / Java que provoca un cierre forzado

Tengo un problema interesante que me informan desde una aplicación de Android que he publicado. Tengo una matriz bidimensional que estoy iterando usando dos bucles for de esta manera:

for (int i = 0; i < arr.length; ++i)
{
    for (int j = 0; j < arr[i].length; ++j)
    {
        if (arr[i][j] != 0)
            // does stuff
    }
}

El problema es que de alguna manera arr [i] [j]! = 0 está lanzando una ArrayIndexOutOfBoundsException. Pero muy raramente. Tengo miles de personas que usan la aplicación a diario y recibo unos veinte informes de cierre forzado.

¿Es algo que no puedo evitar, tal vez un problema con la memoria del teléfono, etc., o hay algo que puedo hacer que aún no he pensado? Gracias.

Respuesta 1

¿Cuándo y por qué el método boolean java.util.List.remove (Object object) devuelve falso? La documentación indica [El método devuelve] verdadero si esta Lista fue modificada por esta operación, falso ...

Necesitamos perfilar las operaciones JDBC de varias aplicaciones web, número de consultas, tiempo dedicado, filas devueltas, ... ¿Ha utilizado alguna herramienta de creación de perfiles JDBC gratuita / comercial? Cuales son tus experiencias ...

En el compilador de Java Hotspot, ¿cuál es la diferencia entre inicializar Java con -client en lugar de -server, y cuáles son los pros / contras / advertencias de cada uno?

Tengo una lista de objetos Java en mi servidor que se envía al cliente a través de algún mecanismo de serialización. De vez en cuando, la Lista de objetos se actualiza en el servidor, es decir, algunos objetos se ...