Restricciones de recursos de red en Windows RT
-
13-12-2019 - |
Pregunta
de acuerdo con la página 20 de Introducción a las tareas de fondo , debajo de las restricciones de recursos de red , la tarea de fondo puede descargar 4.69 MB cada 15 minutos.
Además, como aplicación de fondo, no se le permite usar más de 0.002% de CPU.
En la misma página, lo discutieron como:
El uso de la red puede representar un drenaje significativo en la batería de un dispositivo, por lo que también está restringido durante la ejecución de tareas de fondo. Sin embargo, si un dispositivo se está ejecutando en la alimentación de CA, entonces las tareas de antecedentes no están restringidas en red. Son libres de usar el mayor ancho de banda de la red, ya que necesitan (cerradas, por supuesto, por cualquier ancho de banda o restricciones de uso específicas de la operadora). Tenga en cuenta que el uso de la CPU para una tarea de antecedentes siempre es un recurso restringido incluso si el dispositivo se está ejecutando en la alimentación de CA.
Por estas mismas razones, no podemos implementar un administrador de descargas para Windows RT? ¿Qué tal con consentimiento del usuario?
Solución
Hay API para descargar descargas para la administración de fondo por el sistema: vea la entrada del blog de Mike Taulty en este . Hay otras restricciones graves en las aplicaciones de WinRT en el modo de fondo que no se discuten generalmente en publicaciones y foros de blog, como el hecho de que su tarea de antecedentes se ejecuta en un proceso por separado o un apartamento de hilo que su aplicación: en el fondo de pantalla vinculado a arriba , consulte la sección en Fondo Tarea Host ejecutable . Dice que, a menos que su tarea de antecedentes sea PushNotificationRigger o ControlchannelTrigger, su tarea es un servidor inproc ejecutado por backgroundtaskhost.exe o wwahost.exe. Incluso en los dos primeros casos en los que se ejecuta "en la misma aplicación", se encuentra en un apartamento separado. Todos estos solo pueden compartir datos con la aplicación principal al marcarlo en archivos o almacenamiento de ApplicationData.
He experimentado con ControlChannelTrigger y encontré las siguientes limitaciones (también enumeradas en los documentos si los designa):
- El canal debe estar asociado con el zócalo antes de conectar el zócalo
- Una aplicación solo puede usar un número limitado de comprobantes de control, incluso cuando se especifican los canales de software (6 en mi caso)
Otros consejos
En lo que puedo decir en el documento vinculado, usted está restringido a una cantidad de rendimiento de datos en las tareas de fondo que se basa en la cantidad de energía utilizada para alimentar el dispositivo de red no por ningún valor específico de datos.El 4,69 MB fue solo un ejemplo dado para 10 Mbps que es más lento que la mayoría de las conexiones de Internet residenciales estándar.
También como el párrafo que vinculó a los estados no hay restricciones si el dispositivo está conectado a la alimentación de la red, por lo que las PC de Desktop y la mayoría de las computadoras portátiles nunca tendrán un problema.No hay indicios de que pueda pedirle al usuario que omite las restricciones.
Entonces, sí, puede crear un administrador de descargas y debería funcionar bien siempre y cuando esté al tanto de dónde y cómo el usuario está utilizando la aplicación y ajustarlo en consecuencia.