4. ¿Qué significa?
En el desarrollo:
● Android SDK: android.jar
● Elimina todos los @hide e internal
En la compilación:
● Framework.jar
● Incluye los @hide e internal
7. ● ¿Por qué?
● Es interesante reducir el tamaño de la app:
● Memoria del teléfono
● Limitación de Google Play
8. ● ¿Cómo?
● Ofuscación de código
● Eliminar información de Debug
● Generalmente información no utilizada después del
desarrollo
● Información que no se visualiza
● Se recomienda eliminarla
9. ¿Cómo? (II)
● Eliminar información de Debug:
● Solución 1:
static final debug = false;
if (debug) {
Log.v(TAG, “Debug …”);
}
10. ¿Cómo? (III)
● Eliminar información de Debug:
● ¿Solución 2?:
public void myDebugPrint(String s) {
if (Debug) {
Log.v(TAG, s);
}
}
myDebugPrint(“debug”);
11. ¿Cómo? (IV)
● Formato multimedia
● Imágenes:
– PNG (optimizado si es posible)
– JPEG
● Audio:
– AAC mejor que Ogg Vorbis o mp3
● Vídeo:
– H264 AVC
– Resolución menor que el tamaño de la pantalla
12. ¿Cómo? (V)
● 9patch
● Ahorro de repetición de imágenes
14. ¿Cómo? (V)
● Open Source → código fuente de las apps también
disponible
● Analizar el código
● Reutilización de interfaces (layout)
● Diseño de aplicaciones del sistema
20. ● Tendremos SOLO una entrada en Google Play para nuestra aplicación
● Diferentes dispositivos descargan diferentes APK.
● Solo tenemos una descripción de producto (iconos, capturas, descripción, etc).
● Si actualizamos una versión de la aplicación para un grupo concreto, Android
actualizará la aplicación en los usuarios concretos.
Product details → Edit Application → Upload new APK
22. Test
● ¿Esto funciona?
Intent i = new Intent(this, MyNewClass.java);
● ¿Existe algún problema?
23. Test 2
● ¿Esto funciona?
Context mContext = getApplicationContext();
Intent i = new Intent(mContext, MyNewClass.java);
● ¿Existe algún problema?
24. Solución
● GetApplicationContext es la forma adecuada de acceder al Context de la aplicación:
● Evita problema de pérdida de memoria
● Una referencia a una Activity debe tener el mismo ciclo de vida que la
Activity.
● Utilicemos el concepto “Contexto de la aplicación” en lugar de “Contexto de
la Activity”