¿Por qué ni siquiera Google puede escribir aplicaciones de Android que no se bloqueen?

Porque nos gusta que nuestras computadoras puedan hacer cualquier cosa. Si estuviéramos diseñando una computadora específicamente para ejecutar una aplicación, podríamos controlar las cosas mucho mejor. Conoceríamos el estado de la memoria, conoceríamos el hardware, sabríamos todo. Todavía se estrellaría ocasionalmente.

Cuando tiene una aplicación que tiene que funcionar en varias variaciones del sistema operativo, personalizadas por fabricantes de hardware, con diferentes niveles de actualización en hardware diferente, tenemos menos control. A veces es una aplicación diferente que no hizo algo bien y provocó el bloqueo de su aplicación.

El software de computadora está escrito por humanos y los humanos no pueden ver todas las eventualidades. Hacemos errores. Además, las computadoras no son perfectas. El sistema operativo o el firmware pueden tener errores. Un rayo cósmico puede cambiar un 1 a un 0 en la memoria.

Es muy difícil escribir aplicaciones que no se bloqueen y no tengan errores. Especialmente cuando es Android el que se ejecuta en tantos tipos de dispositivos.

También hay muchas versiones de Android en el mercado que los fabricantes de aplicaciones deben admitir. En comparación, en iOS, la mayoría de las personas ya están ejecutando las últimas versiones.

Es por eso que es bueno que el marco de Android UI haya sido diseñado para recuperarse rápidamente de fallas.

Como Google no escribe código, los humanos sí. Y los humanos follan de vez en cuando