No hay código sin errores. Peter Norton dijo: "Hay un lugar en el museo para el código ideal: allí se valora todo tipo de antigüedades". Y para corregir errores, hay actualizaciones.
Me gustaría compartir mi opinión sobre las actualizaciones desde el punto de vista del desarrollador de Android Runtime. Parte de nuestro gran equipo está ubicado en Rusia, estoy involucrado en el subsistema Java, optimizando la máquina virtual y corrigiendo problemas menores. Nuestra área de responsabilidad es todo lo que está por encima de las aplicaciones centrales y por debajo. Queremos lograr la máxima eficiencia de la aplicación, incluida la eficiencia energética. Esta es una división de Samsung que no es visible para el usuario, pero es muy importante, porque un error en esta capa conduce al comportamiento incorrecto de muchas aplicaciones.
Hoy hablaremos sobre cómo funciona actualmente la actualización del sistema Android, cuáles son las opiniones de los proveedores sobre este tema y qué nuevas tendencias se observarán en los próximos años. Además de consejos para los usuarios: con qué frecuencia actualizar, qué parches instalar y cómo ayudar a los desarrolladores a encontrar errores más rápido.

Fuente -
xkcdCómo actualizar
Hay un problema, que es que una gran cantidad de usuarios, como se vio después, no actualizan su teléfono después de la compra. Muchos errores no habrían ocurrido si los usuarios hubieran actualizado su teléfono a tiempo. Hace unos años, las actualizaciones no se realizaban con tanta frecuencia, era necesario poner muchas marcas de verificación, hacer clic periódicamente en el botón de actualización. Ahora, en las versiones modernas de Android, todo es bastante simple, simplemente marque la casilla al comprar un teléfono y se actualizará.
Si desactiva las actualizaciones, no recibimos la corrección de errores críticos. Sí, las aplicaciones individuales se pueden actualizar a través de Google Play, pero los errores graves, especialmente en seguridad, no se corrigen, y algunas personas que no han presionado este botón o no saben cómo hacerlo continúan quejándose de errores en las aplicaciones.
Además, el momento es bastante interesante sobre cómo el proveedor puede afectar el uso de las últimas imágenes del sistema operativo. Por ejemplo, los dispositivos de Samsung en los últimos años tienen una característica como Prevención de reversión: fusibles de hardware que codifican la versión menos aceptable del sistema operativo. Las versiones anteriores pueden contener vulnerabilidades conocidas, por lo que simplemente no puede descargar los sistemas operativos antiguos en su teléfono.
Actualizaciones corporativas
El mercado B2B tiene sus propias características. Allí puede actualizar solo según la recomendación y bajo la estricta guía de los departamentos de TI e IS. Los usuarios corporativos deben escuchar atentamente las recomendaciones de los servicios de TI y los servicios de TI para usar soluciones que minimicen los riesgos. Por ejemplo,
Samsung Knox E-FOTA .

Allí la funcionalidad es:
- Actualizar selectivamente una lista específica de dispositivos
- Controle la lista de firmware utilizada por la empresa.
- Tiempo de actualización según el horario de trabajo.
Cómo se verán las actualizaciones en el futuro
Ahora hay una tendencia hacia la modularización de Android. A largo plazo, Google está desarrollando un nuevo sistema operativo Fuchsia, todavía es bastante tosco, pero los principios establecidos allí ya se están moviendo lentamente hacia Android. Una de las cosas es la modularización. Desde un sistema operativo monolítico, se destacan algunos componentes que se pueden actualizar de forma independiente a través de Google Play, al igual que las aplicaciones. Google dio este paso porque tampoco están contentos con la situación en la que las personas no ponen actualizaciones, además intentan reducir la fragmentación de sus dispositivos para que el componente esté menos vinculado al proveedor y más a Google. El usuario promedio no sabe qué es Android Runtime y dice: "¿Desea descargar la nueva versión de Android Runtime?" se ve un poco tonto. Por lo tanto, Google está introduciendo un sistema de actualización invisible. En principio, existe desde hace mucho tiempo, por ejemplo, para GMS (Google Mobile Services), este sistema se basa en complementos, y allí los complementos se actualizan de forma invisible. Google está implementando el mismo principio para los componentes básicos de Android. Es decir, en algún momento obtendremos un sistema operativo que raramente actualizará el kernel, pero de hecho se actualizará a menudo en sus subsistemas. Ni siquiera necesitará reiniciar el teléfono. Ahora es el período de transición. El sistema monolítico tiene sus pros y sus contras (recordamos la controversia entre Torvalds y Tanenbaum hace 27 años), pero ahora Google ha recurrido a la arquitectura de microkernel y a la actualización independiente de componentes.
Los desarrolladores de aplicaciones desearían tener un sistema estable y menos fragmentación. Pero esto no siempre es una ventaja para los fabricantes de teléfonos, ya que reducir la fragmentación conduce a una menor diferenciación, ya que no podemos implementar nuevas optimizaciones en este componente si la actualización proviene de Google Play. Esta es la otra cara de la moneda. Y el usuario pronto se liberará de la necesidad de pensar si necesita actualizar este o aquel componente. En el futuro, Google hará que el sistema sea tal que si compra un teléfono y conecta Google Play, se suscribirá automáticamente a todas las actualizaciones.
Cómo ayudar a los desarrolladores
Los comentarios de los usuarios son muy importantes, debe marcar la casilla para enviarlos automáticamente. Algunos problemas se pueden resolver simplemente con una pequeña actualización del sistema operativo. Sobre la base de los comentarios, Samsung decide qué es exactamente lo que debe arreglarse y con qué usuarios no están satisfechos, por ejemplo, rastrea la hora de inicio de la aplicación, por supuesto, si la persona acordó enviar estos datos y marcarlos.
Entonces, para resumir, lo que nosotros, como desarrolladores, esperamos del usuario:
- Asegúrese de instalar actualizaciones de seguridad y hágalo de inmediato
- Envíe comentarios y no dude en informar que algo no funciona
- Si usted es un usuario corporativo, siga las reglas adoptadas por su empresa.
Publicado por: Ivan Maidansky,
Ingeniero experto en software
Laboratorio de compilación de IA
Centro de investigación de Samsung en Rusia