Fresco: java.lang.NullPointerException: ¡SimpleDraweeView no se inicializó!

Creado en 20 may. 2015  ·  14Comentarios  ·  Fuente: facebook/fresco

Recibo algunos informes de fallas con esta excepción usando Fresco versión 0.4:

Caused by: java.lang.NullPointerException: SimpleDraweeView was not initialized!

Fresco se inicializa muy temprano en mis aplicaciones onCreate () y solo tengo este problema con algunos usos seleccionados con los que no puedo ponerme en contacto.

Lo siento, no puedo darte más información que esta. Cierra el problema si no puedes hacer nada al respecto. Solo quería que sepas que el problema está ahí. Actualizaré este problema si obtengo más información al respecto.

Comentario más útil

Fresco.initialize debe llamarse antes de setContentView en su aplicación.

Todos 14 comentarios

Fresco.initialize debe llamarse antes de setContentView en su aplicación.

Hola, tengo el mismo problema. Llamo Fresco.initialize (context) en mi MainActivity. Y este error se informó en una actividad que se llamó más tarde (donde no llamé a initialize). ¿Tengo que llamar a initialize () y shutdown () en cada actividad o tengo que hacerlo solo una vez para toda la aplicación (antes de setContentView () por supuesto)?

Solo necesita llamar a initialize una vez por aplicación. Normalmente, no debería llamar al cierre.

Estaba teniendo algunas filtraciones, probablemente no de la propia biblioteca de frescos. Entonces pensé en usar shutdown (). ¿Está seguro de que no es necesario llamar a shutdown ()?

Probablemente debería subclasificar Application si aún no lo ha hecho, e inicializar Fresco en onCreate() de esa clase.

Si. Lo hice ahora, pero aún no hay forma de verificar si resuelve el problema. AFAIK, el bloqueo solo aparece en los dispositivos de algunos usuarios. ¿Alguien puede explicarme qué hace shutdown ()?

@tyronen, ¿qué debo hacer cuando mi aplicación falla y aparece el error SimpleDraweeView no inicializado? Porque cuando mi aplicación falla por alguna razón, el sistema Android recupera la última actividad solo para encontrar que simpleDraweeView no está inicializado.

Tengo el mismo problema. He llamado a Fresco.initialize (context) en mi Appliaction onCreate.
No tengo ni idea.

Caused by: java.lang.NullPointerException: SimpleDraweeView was not initialized! at com.facebook.common.internal.Preconditions.checkNotNull(Preconditions.java:226) at com.facebook.drawee.view.SimpleDraweeView.init(SimpleDraweeView.java:79) at com.facebook.drawee.view.SimpleDraweeView.<init>(SimpleDraweeView.java:61)

Lo inicialicé correctamente en la aplicación onCreate, Fresco.initialize (contexto)

Probé exactamente el mismo código en 2 dispositivos. uno de ellos Samsung, el otro es Piranha, funcionó en Pirhana y no funcionó en Samsung GS3.

El problema se resolvió cuando agregué el plus:
compilar 'com.facebook. fresco: fresco : 0.7.0 '
al final, se volvió así:
compilar 'com.facebook. fresco: fresco : 0.7.0+ '

luego limpié, reconstruí, volví a sincronizar Gradle y reinicié Android Studio. ¡¡Resolvió el problema !!

tan wiered..pero funcionó!

ahora agregué la nueva versión de githuib:
compilar 'com.facebook. fresco: fresco : 0.8.1+ '

¡Otra cosa extraña es que los desarrolladores lo actualicen en Github y lo dejen en la versión anterior en el sitio web oficial! ¡confuso!
Por favor, arréglalo, ambos deben ser iguales.

Estaba teniendo este problema. Resultó que había usado parte del código de muestra de Facebook en mi proyecto, y en su código de muestra hicieron que Fresco se inicializara y apagara para cada actividad. ¡Eliminar eso detuvo mis accidentes!

@tzveeJ entonces, ¿las actividades se abren y cierran sin problemas?

@iballan Sí, lo hacen. Para aclarar, el código de muestra de Facebook contenía Fresco.initialize (contexto) que ahora eliminé porque ya lo había inicializado en mi clase de aplicación según sus instrucciones.

tratar {
ImagePipelineConfig config = ImagePipelineConfig.newBuilder (esto)
.setDownsampleEnabled (verdadero)
.construir();
Fresco.initialize (esto, config);
} captura (Excepción e) {
e.printStackTrace ();
}
la respuesta como la anterior resolvió el problema.

¡Solo agrega Fresco.initialize(this); en tu clase!

¿Fue útil esta página
0 / 5 - 0 calificaciones