ParseInstaller.getCurrentInstallation (). SaveInBackground () está congelando mi aplicación
Estoy encontrando que cerca de 1/5 de mis pruebas están congelando, y después de que algo busque el problema lo he reducido a la línea:
ParseInstallation.getCurrentInstallation (). SaveInBackground ();
- Pushes no recibidos después de que la aplicación esté cerrada
- Analizar la clase anónima no implementa método abstracto
- Parse crash en la creación de usuario
- ParseQuery que encuentra el objeto nulo
- La notificación de Parse Push no funciona en android
Estoy utilizando Parse 1.5.1, y un dispositivo Android 4.4.2. Mi clase de aplicación se ve así:
public class InitApplication extends Application { @Override public void onCreate() { super.onCreate(); Parse.initialize(this, "my_App_ID", "my_Client_Key"); PushService.setDefaultPushCallback(this, MainActivity.class); System.out.println("execution DOES reach here"); ParseInstallation.getCurrentInstallation().saveInBackground(); System.out.println("execution DOES NOT reach here"); } }
El comportamiento de mi dispositivo es que primero veré una pantalla en blanco durante unos 5 segundos, y luego la pantalla se pondrá negra. No estoy seguro de cuánto tiempo permanece la pantalla negra, ya que por lo general la fuerza de cierre. He dejado que se sienta durante unos 10 minutos una vez sin cambio. No puedo presionar el botón de retroceso y cualquier toque en la pantalla no hace nada. Me veo obligado a usar mi botón de inicio, luego forzar la aplicación a cerrar. Al reabrir la aplicación, se comporta y funciona normalmente.
Otras investigaciones me llevaron a encontrar este post: https://www.parse.com/questions/android-saveinbackground-lock-the-main-thread
Pero aún así, no he podido encontrar una solución. Una sugerencia en el post anterior es simplemente mover la ubicación de este código. He intentado esto a un cierto punto después del método onCreate () de mi actividad principal (no ser confundido con el método onCreate () de la aplicación). Comportamiento parecía ser normal hasta que llegué al punto donde se llama el código getCurrentInstallation.saveInBackground (), donde mi aplicación se congeló y no respondió hasta que lo forcé a cerrar.
¿Hay alguna solución a este problema?
- Cómo obtener correo electrónico de usuario en GraphRequest.newMeRequest
- No se puede codificar un archivo de análisis no guardado, trabajando con ParseUser
- Android parse.com No se puede recibir notificaciones push
- Cómo obtener todos los valores de columna de una sola fila en android parse.com
- Cómo enviar notificación push en dos segmentos en momentos diferentes en un día en analizar
- Android, guardar archivos en modo offline (parse.com)
- No recibir notificaciones de notificación de pars en Android en BroadcastReceiver personalizado
- Parse: Puestos con la indicación de usuario registrado
Me encontré con el mismo problema, así como utilizar Parse SDK 1.5.1.
Y acabo de descargar el último SDK 1.6.0 y el problema resuelto.
Enlace para descargar el SDK más reciente.
Puede realizar un seguimiento del problema informado aquí: Analizar la instalación de Parse causando la congelación de aplicaciones
Ya he proporcionado (confidencialmente) hilos de volcado de trazas de mi aplicación. Sin embargo, en el momento de escribir este post no hay comentarios útiles de los chicos de Parse.
Mi humilde opinión después de buscar en las huellas es un punto muerto que causa este problema después de algunos problemas con la interacción del servidor. Pero es sólo adivinar.
Enlace actualizado
Tengo el mismo problema y mucho más.
Sin embargo, la pantalla en blanco o negro no sucede a todos mis teléfonos de prueba. Sucede sólo a uno de ellos (Android 2.3).
SaveEventually también no trabaja al teléfono problemático arriba (todos los otros teléfonos que tengo están trabajando muy bien). No envía datos con éxito al servidor. Así que sospecho que la configuración del teléfono de guardar datos en el propio teléfono antes de pasar al servidor cuando la red está de vuelta en el problema puede ser.
- Guardar matriz de objetos personalizados en estado de instancia
- Ejecutar Android Lint ha encontrado un … Error. Java.lang.NullPointerException