Android (sistema operativo): ¿Cuáles son algunos consejos para desarrolladores de aplicaciones aficionados?

1. Siga las pautas de diseño de Android
2. Manténgase al día con las últimas tendencias

3. Escuchar la entrada del usuario

4. Sumérgete en Android

5. Desarrollar para múltiples dispositivos

6. Optimiza tus aplicaciones
7. Limite los permisos requeridos

8. Respeta a tus usuarios
9. Diviértete

—Consejos para aplicaciones más eficientes—
Consejo 1. Cómo descargar operaciones en hilos en segundo plano
Dado que, de manera predeterminada, todas las operaciones en una aplicación se ejecutan en el subproceso principal (subproceso de interfaz de usuario) en primer plano, la capacidad de respuesta de la aplicación puede verse afectada, lo que provocará inminentemente bloqueos, bloqueos e incluso errores del sistema.
Para reforzar la capacidad de respuesta, debe cambiar las tareas de larga ejecución (por ejemplo, operaciones de red o de base de datos, cálculos complejos) del hilo principal de una aplicación a un hilo de fondo separado. La forma más efectiva de lograr esta tarea es a nivel de clase. Puede usar la clase AsyncTask o la clase IntentService para organizar el trabajo en segundo plano. Una vez que ha implementado un IntentService, se inicia cuando es necesario y maneja las solicitudes (Intents) utilizando un subproceso de trabajo.
Cuando use IntentService, debe considerar las siguientes limitaciones:

  • Esta clase no coloca los resultados en la interfaz de usuario, por lo que para mostrar los resultados a los usuarios use Actividad.
  • Solo se procesa una solicitud a la vez.
  • Cualquier procesamiento de solicitud no puede ser interrumpido.

Consejo 2. Cómo evitar ANR y mantenerse receptivo
El mismo enfoque de descarga de operaciones de larga duración desde el hilo de la interfaz de usuario salvará a sus usuarios del cuadro de diálogo “La aplicación no responde” (ANR). Lo que debe hacer es crear un subproceso de trabajo en segundo plano extendiendo AsyncTask e implementando el método doInBackground ().
Otra opción es crear una clase Thread o HandlerThread propia. Tenga en cuenta que, a menos que especifique la prioridad de “fondo” para el subproceso, ralentizará la aplicación, ya que la prioridad predeterminada del subproceso es la misma que para el subproceso de la interfaz de usuario.
Consejo 3. Cómo iniciar consultas en hilos separados
La visualización de datos no es inmediata, aunque puede sujetarlos mediante el uso de objetos CursorLoader, lo que permite no distraer a Activity de interactuar con un usuario mientras la consulta se procesa en segundo plano.
Armado con este objeto, su aplicación iniciará un subproceso de fondo separado para cada consulta de ContentProvider y devolverá los resultados a la Actividad desde la que se llamó a la consulta solo cuando finalice la consulta.
Consejo 4. ¿Qué más puedes hacer?

  • Use StrictMode para detectar operaciones potencialmente largas que realiza en el hilo de la interfaz de usuario.
  • Use herramientas especiales, ig Systrace, Traceview, para encontrar cuellos de botella en la capacidad de respuesta de su aplicación.
  • Mostrar progreso a los usuarios con una barra de progreso.
  • Muestre pantallas de bienvenida si la configuración inicial lleva mucho tiempo.

Optimización de la vida útil de la batería del dispositivo.

No podemos culpar a los usuarios por desinstalar enojado aplicaciones que abusan de la duración de la batería. Las principales amenazas para la duración de la batería son:

  • Despertos regulares para actualizaciones
  • Transferencia de datos a través de EDGE y 3G
  • Análisis de datos textuales, expresiones regulares sin JIT

Consejo 5. Cómo optimizar problemas de red

  1. Haga que su aplicación omita operaciones si no hay conexión; actualice solo si 3G o WiFi está conectado y no hay roaming.
  2. Elija un formato de datos compacto, por ejemplo, formatos binarios que combinen texto y datos binarios en una sola solicitud.
  3. Use un analizador eficiente; considere elegir analizadores de flujo en lugar de analizadores de árbol.
  4. Para una experiencia de usuario más rápida, reduzca los tiempos de ida y vuelta al servidor.
  5. Cuando sea posible, use bibliotecas GZIP de marco para datos de texto para aprovechar al máximo los recursos de la CPU.

Consejo 6. Cómo optimizar las aplicaciones que funcionan en primer plano

  1. Al diseñar wakelocks, establezca el nivel más bajo posible.
  2. Para evitar los costos de la batería causados ​​por posibles errores que podría haber pasado por alto, use tiempos de espera específicos.
  3. Habilite Android: keepScreenOn.
  4. Además de GC (recolección de basura), considere reciclar objetos Java manualmente, por ejemplo, XmlPullParserFactory y BitmapFactory; Matcher.reset (newString) para regex; StringBuilder.setLength (0).
  5. Tenga en cuenta los problemas de sincronización, aunque puede ser seguro cuando se maneja mediante un subproceso de interfaz de usuario.
  6. Las estrategias de reciclaje se utilizan mucho en ListView.
  7. Use una ubicación de red gruesa, no GPS, cuando sea posible. Simplemente compare 1 mAh para GPS (25 seg. * 140 mA) y 0.1 mAh para red (2 segundos * 180 mA).
  8. Asegúrese de cancelar el registro ya que las actualizaciones de ubicación GPS pueden continuar incluso después de onPause (). Cuando todas las aplicaciones no se registran, los usuarios pueden habilitar el GPS en la Configuración sin gastar el presupuesto de la batería.
  9. Dado que el cálculo de un punto flotante requiere mucha energía de la batería, puede considerar el uso de microgrados para la geografía masiva y los valores de almacenamiento en caché al realizar tareas DPI con DisplayMetrics.

Consejo 7. Cómo optimizar aplicaciones que funcionan en segundo plano

  1. Dado que cada proceso requiere 2 MB y puede reiniciarse cuando las aplicaciones en primer plano necesitan memoria, asegúrese de que los servicios sean de corta duración.
  2. Mantenga el uso de memoria bajo.
  3. Diseñe la aplicación para actualizar cada 30 minutos, pero solo si el dispositivo ya está despierto.
  4. Los servicios que palidecen o duermen son malos, es por eso que debe usar los elementos de manifiesto AlarmManager o : stopSelf () cuando haya terminado. Cuando inicie el servicio con AlarmManager, aplique los indicadores * _WAKEUP con precaución. Deje que Android bin su aplicación se actualice junto con el resto a través de setInexactRepeating (). Cuando use , habilite / deshabilite sus componentes en el manifiesto de forma dinámica, especialmente cuando no hay operaciones.

Consejo 8. ¿Qué más puedes hacer?

  • Verifique los estados actuales de la batería y la red antes de iniciar una actualización completa; esperar mejores estados para transferencias masivas.
  • Proporcione a los usuarios opciones de uso de la batería, por ejemplo, intervalos de actualización y comportamiento en segundo plano.

Implementando una IU que deja huellas mínimas de memoria

Consejo 9. Cómo identificar problemas de rendimiento del diseño
Al crear una interfaz de usuario que se adhiere únicamente a las características básicas de los administradores de diseño, corre el riesgo de crear aplicaciones que abusen de la memoria con retrasos molestos en la interfaz de usuario. El primer paso para la implementación de una interfaz de usuario fluida y que cuide la memoria es buscar en su aplicación posibles cuellos de botella en el rendimiento del diseño con la herramienta Hierarchy Viewer incluida en el SDK de Android: / tools /.
Otra gran herramienta para descubrir problemas de rendimiento es Lint. Analiza las fuentes de la aplicación en busca de posibles errores junto con las optimizaciones de la jerarquía de vistas.
Consejo 10. Cómo solucionarlos
Si los resultados de rendimiento del diseño revelan ciertos inconvenientes, puede considerar aplanar el diseño convirtiéndolo de la clase LinearLayout a la clase RelativeLayout, reduciendo la jerarquía de nivel.

Buena suerte.

Esta es mi historia.

T ★ p Five: Aplicaciones de Android en Google Play

Durante los últimos meses, realmente me había intrigado la posibilidad de crear aplicaciones de Android. Toda la idea de codificar, probar y diseñar diseños desde cero me emocionó.
Está bien, pero ¿dónde está la diversión si la vida fuera solo en blanco y negro?
Entonces, decidí perseguirlo en mi tiempo libre. Después de buscar en Google mucho sobre el desarrollo de Android durante un par de días y cómo debería poner la bola en marcha, finalmente instalé todo el software y los sdks necesarios.
Tenía una buena experiencia en programación, por lo que me tomó un par de días comprender los entresijos de Android. Todo el ciclo de vida, ciclos de ejecución y actividad, diseño en xml, etc.
Ahora que estaba listo para codificar y convertir ideas innovadoras en aplicaciones tangibles, eso podría cambiar el mundo. Pero necesitaba una idea en primer lugar.
Después de una lluvia de ideas y de filtrar la tienda de juegos de Google como lo hace Indiana Jones en las tumbas, durante dos días seguidos, recibí una pista de lo que realmente está de moda y de moda en el mercado. Y también, tuve una idea aproximada de lo que sería mi primera aplicación de Android como desarrollador.
Refinando y doblando un poco la idea de una aplicación que había pensado, se me ocurrió una idea de un juego que se suponía que era divertido, desconcertante y algo que puede hacerle cosquillas en el cerebro y poner a prueba su presencia mental en el Mismo tiempo.
Así es como se ve esa idea, después de casi 20 días de esfuerzo:

Top Five: Aplicaciones de Android en Google Play


Fue un viaje interesante de casi una quincena, donde no hice nada más que código código código. Pegado a mi computadora portátil y mi teléfono Android que resultó ser el dispositivo de prueba.
Así es como lo haces – La lógica:

Hazlo hasta que esté hecho:

{
“Escribir código – compilarlo – ejecutarlo – no funciona por primera vez o como pensaste que sería – escribir algunas declaraciones más con punto y coma – ejecutarlo nuevamente”
}

El proceso anterior tiene que repetirse casi infinitas veces antes de llegar a un producto que esté más cerca de la idea que tenía en el inicio.
Entonces, para resumir la experiencia como desarrollador principiante de Android, no es para nada ciencia espacial. Solo necesitas tener estas recetas en ti:

– Una cabeza lógica, una aptitud para escribir código y una miríada de líneas de códigos, un sólido conocimiento de diseño y esquemas de color (el mundo no es blanco y negro) y lo más importante de todo, de quienes todos se beneficiarán es decir, los usuarios.

PD: visite el enlace de Top Five, que ahora está en vivo en la tienda de juegos, sus comentarios solo ayudarían a los principiantes como yo como un valioso incentivo para perseguir algo que uno quiere ser.

estudie os de galvin, java de javatpoint y para conferencias java de saurabh sukhla.