He visto muchas aplicaciones que dan la posibilidad de activar la pantalla del teléfono simplemente levantando el teléfono de una mesa (sin hablar aquí del sensor de proximidad). Una cosa que todos tienen en común es que esta función coloca un wakelock en el dispositivo y, por lo tanto, agota la batería y, por lo tanto, se agota después de una cantidad preestablecida (1-10 minutos). Por lo que entiendo, funciona monitoreando la cámara frontal.
Mi pregunta es: ¿cómo hacen eso los teléfonos Moto X y Nexus entonces? Tienen esta función incorporada, pero ¿eso también coloca un wakelock? ¿Un wakelock de 24 horas? ¿O usan algo más que la cámara frontal? Y si es así, ¿por qué no hay una aplicación que pueda replicar este comportamiento para todos los teléfonos?
Los dispositivos como Moto X y Nexus 5X/6P usan un concentrador de sensores para lograr esta función, que es:
unidad de microcontrolador/coprocesador/DSP que ayuda a integrar datos de diferentes sensores y procesarlos. Esta tecnología puede ayudar a descargar estos trabajos de la unidad de procesamiento central principal de un producto, ahorrando así el consumo de batería y mejorando el rendimiento.
Las especificaciones de Android sugieren que el fabricante implemente un concentrador de sensores:
La pila de sensores de un dispositivo puede incluir opcionalmente un concentrador de sensores, útil para realizar algunos cálculos de bajo nivel a baja potencia mientras el SoC puede estar en modo de suspensión. Por ejemplo, el recuento de pasos o la fusión de sensores se pueden realizar en esos chips. También es un buen lugar para implementar procesamiento por lotes de sensores, agregando FIFO de hardware para los eventos de sensores. Consulte Procesamiento por lotes para obtener más información.
La forma en que se materializa el concentrador de sensores depende de la arquitectura. A veces es un chip separado y, a veces, se incluye en el mismo chip que el SoC. Las características importantes del concentrador de sensores es que debe contener suficiente memoria para el procesamiento por lotes y consumir muy poca energía para permitir la implementación de los sensores de Android de bajo consumo. Algunos concentradores de sensores contienen un microcontrolador para computación genérica y aceleradores de hardware para permitir la computación de muy baja potencia para sensores de baja potencia.
Entonces, la disponibilidad de esta función depende del hardware del dispositivo: si el fabricante incluye un concentrador de sensores, entonces el consumo de energía se optimizará porque el procesador central no está involucrado. De lo contrario, la única posibilidad es instalar aplicaciones dedicadas (ver, por ejemplo, la citada en mi comentario) que monitorearán el acelerómetro, lo que resultará en un mayor consumo de batería.
mateo leer
dan hulme
usuario127476
dan hulme
eslavo