Java - Ayuda con aplicación android

   
Vista:

Ayuda con aplicación android

Publicado por Asier asier_simpsom@hotmail.com (2 intervenciones) el 20/12/2015 12:16:33
Buenas, soy un estudiante de programación y me gusta sobre todo programar en android, pero mi profesora no tiene mucha idea sobre este lenguaje y no me queda otra que aprender por mi cuenta... cada vez que le pregunto una duda no tiene ni idea y tengo que terminar buscándome la vida, pero claro, tengo mas asignaturas y no puedo dedicarme a perder el tiempo solo con android a investigar y demás...

Estoy haciendo una aplicación para el proyecto de fin de curso (mi objetivo no es ir a por buena nota, si no aprender) pero esta es muy poco eficiente, consume demasiados recursos para lo que es y terminan saliendo errores tipo: OutOfMemoryError.

Me gustaría aprender a hacer las aplicaciones mas eficientes, tengo muchas dudas sobre si hacer un método para cada cosa, crear mas clases o menos, utilizar un objeto o muchas variables... (Por ejemplo en mi aplicación tengo un ArrayList de objetos por no usar una variable para cada dato, pero igual esto consume mas recursos y es peor...)

Si a alguien le interesa ayudarme un poco le puedo pasar el código y que me diga si usar un método u otro para que funcione mejor... o algún consejo gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con aplicación android

Publicado por Marcelo (47 intervenciones) el 21/12/2015 15:14:55
Que tal?

De antemano es difícil aconsejarte sin saber lo que estas haciendo (Tipo de proyecto, sistemas involucrados, forma de distribución, etc.).

Sin embargo hay un par de consejos genéricos que si se pueden dar.

Por ejemplo, siempre es importante no tener grandes procesos en el dispositivo móvil, el uso de mucho procesador es una gran forma de drenar la batería rápidamente. Siempre es bueno tener métodos y clases (Esto no influye) lo que influye es la instanciacion de dichas clases y el uso de sus métodos asociados (si tienes mil clases pero solo instancias de a 2, tu sistema no va a colapsar ni mucho menos). Siempre es importante no sobrecargar la memoria con la instanciacion de muchos objetos al mismo tiempo, de ser posible carga los imprescindibles primero y luego debes crear y destruir los de menor prioridad.

Tener cuidado con el overhead de los métodos (pasa manos entre los métodos), en lo posible evitarlos. Y algo no menor, en los loops (while, for, etc.), evitar llamar métodos permanentemente que podrían evitarse. El ejemplo mas clásico es el largo de una lista, cuando haces un for (for(int i = 0; i<lista.size();i++)) el método lista.size() se llama tantas veces como iteraciones haya, cuando se podría hacer...

int largo = lista.size();
for(int i = 0; i < largo; i++).

Este tipo de cosas van a evitarte muchos dolores de cabeza en el futuro.

Saludos y a las ordenes por cualquier duda (puedes enviarme mensajes si te queda mas cómodo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar