iphone - para - portrait lighting app
Mejores prácticas-Modo de aplicación de fondo de iPhone (1)
Actualmente estoy probando la última característica de iOS4 para poner mi aplicación de ubicación consciente en segundo plano. Bueno, ¡funciona! Pero, por otro lado, es bastante difícil manejar el inmenso consumo de energía.
La aplicación consumió aproximadamente el 50% de la energía de la batería en las últimas cuatro horas. Leyó toda la documentación oficial de Apple sobre este tema, pero todavía no estoy seguro de qué partes de mi aplicación todavía se están ejecutando y qué funcionalidad está suspendida (al lado del Dibujo UI, que debe ser claro).
No utilizo ningún código repetitivo real, sino bibliotecas extendidas como ASIHTTPRequest para hablar con mi servicio web. Las pruebas con un automóvil de amigos mostraron que la conectividad de red y los servicios de ubicación aún se están ejecutando cuando estoy usando, es decir,
[locationManager startMonitoringSignificantLocationChanges];
Documentación de las manzanas en los diferentes estados de aplicación
Antecedentes : la aplicación está en segundo plano y ejecutando código [...]
¿Debo escribir una función de "metal desnudo" para recibir y enviar esta información de ubicación? ¿Debo eliminar todos los demás objetos por el tiempo que la aplicación reside en el fondo para reducir la huella de memoria? Parece que todavía no hay una mejor práctica.
¿Algunas ideas? Tal vez ustedes pueden brindarme algunas de sus ideas. Gracias.
Editar: Hay una nueva herramienta de instrumentos llamada Energy Diagnostics Instruments para registrar cualquier uso de energía (para iPhone 3GS y posterior) con un dispositivo conectado. También hay otro servicio en el dispositivo en la Aplicación de configuración -> Desarrollador -> Uso de energía. Es genial probar tu consumo de energía en el campo. Los registros creados pueden extraerse más tarde en instrumentos.
Referencia: WWDC 2010 Sesión 309 - Análisis de rendimiento avanzado con instrumentos
Parece que tu aplicación está transmitiendo datos de ubicación a través de la red celular. Encender la radio celular es una de las causas más rápidas de pérdida de potencia, especialmente si el usuario tiene una conexión de señal débil a la torre de la celda.
Es posible que desee guardar y empaquetar una gran cantidad de datos de ubicación, y enviar los datos en una ráfaga rápida tan rara vez como sea posible (dos veces por día, cuando el usuario deja de moverse durante 30 minutos, solo después de que el usuario llegue a uno de sus favoritos restaurantes, etc.). Encender la radio menos de la mitad de las veces podría acercarlo a duplicar la duración de la batería (a menos que el usuario esté haciendo otra cosa con el dispositivo también).