Sobes.tech
Junior — Middle

¿Puede explicar para qué sirve y cómo se aplica la clase WeakReference en Java?

sobes.tech AI

Respuesta de la IA

La clase WeakReference en Java se utiliza para crear referencias débiles a objetos. A diferencia de las referencias fuertes, las referencias débiles no impiden la recolección de basura: si un objeto solo es accesible a través de referencias débiles, puede ser eliminado por el recolector de basura.

Esto es útil, por ejemplo, para el almacenamiento en caché, cuando se necesita mantener objetos pero sin impedir su eliminación en caso de falta de memoria. En Android, a menudo se usa WeakReference para mantener referencias a Context o Activity, para evitar fugas de memoria.

Ejemplo de uso:

WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
    // el objeto aún está disponible
} else {
    // el objeto ha sido recolectado por el recolector de basura
}