Ver Mensaje Individual
  #2  
Viejo 09/02/12, 20:56:58
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Bienvenido al maravilloso mundo de la malísima gestión de memoria que hace Android de los Bitmap.

Vamos a ir por partes:

1) Siempre que uses un Bitmap en Android asegurate de que lo haces en una WeakReference (buscate algún manual sobre esto si no lo conoces). Salvo que estés seguro, PERO SEGURO, SEGURO, SEGURO, de que nunca te va a fallar la memoria por culpa de los Bitmap que uses (cosa que suele ser NUNCA, salvo que trabajes con muy pocos Bitmap y siempre de poco tamaño)

2) El ScrollView, tanto en horizontal como en vertical, es una muy mal contenedor para guardar imagenes, para eso Android tiene el contenedor Gallery. Que te permitirá trabajar con Adapters y así podrás hacer una buena gestión de las WeakReferences (ver 1)

3) El System.gc() no vale para una puta mierda, es un error de novato (yo pasé por ahí) querer usarlo para ayudarte a gestionar la memoria de los Bitmap. Al ejecutar System.gc() le dices al sistema que libere memoria, pero en primer lugar no lo hace en ese momento, simplemente ve que le sugieres hacerlo y él lo hará cuando pueda (casi siempre eso significa nunca) y en segundo lugar no funciona con Bitmap porque no hace el recycle del Bitmap, que es lo que realmente te chupa la memoria. Lo suyo es trabajar con WeakReferences, ya que así cuando el sistema se queda sin memoria la liberará si o si.

Te aconsejo que busques algún manual para trabajar con Gallery, y si ya viene con las WeakReferences mejor aún, aunque luego es bastante fácil añadirlo si tienes claro el concepto de como funciona un Adapter. Posteriormente también puedes trabajar con un ListView, que es como el ScrollView solo que también funciona con Adapters, solo que pensados para trabajar de forma general en lugar de solo con imagenes.

Última edición por kriogeN Día 09/02/12 a las 21:01:07.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a kriogeN su comentario: