Creo que la razón es la ingeniería.
El host del widget de la aplicación (normalmente la pantalla de inicio) se comunica con la aplicación que posee y ejecuta el widget utilizando el mecanismo Binder IPC. La aplicación utiliza una instancia de RemoteViews
http://grepcode.com/file/reposit… (enlace a la fuente de Android) como proxy del host. El host tiene su propio objeto RemoteViews
para recibir las llamadas IPC. Los mensajes que normalmente serían una llamada a un método en la misma VM se empaquetan en una Parcel
.
Las razones para limitar los widgets podrían ser:
- ¿Cuáles son las mejores prácticas de codificación para Android?
- ¿Qué fabricantes de Android no preinstalan bloatware en sus dispositivos?
- ¿Durante cuánto tiempo podré usar el Moto G con la mayoría de las aplicaciones del mercado ejecutándose de manera fluida, o qué tan pronto quedará ANTERIOR?
- ¿Hay alguna característica en Android 5.0 que haga que el teléfono robado sea fácil?
- ¿Cómo podemos implementar la cuota de batería de la aplicación para Android?
- Límites al número de acciones que se pueden enviar a través de IPC. Esto podría ser un límite de mantenimiento de código / características, y no solo técnico. En
RemoteViews
hay unaAction
clase privada que encapsula las llamadas a métodos en parcelas y ejecuta parcelas. - Velocidad de IPC. Las
Action
deben cruzar el Binder desde elRemoteViews
local al remoto. Los tipos de vista más complejos pueden ser demasiado lentos para IPC.