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 ();
- Cómo deshacer una llamada ParseUser.setPassword ()?
- Cómo recuperar todas las filas de ParseObject en android
- Android FaceBook nuevoMyFriendsRequest devuelve EMPTY lista de amigos
- Parse.com no almacena más de un objeto no guardado
- Android Parse - ParseQuery con condiciones de igualdad de lista para campo / columna
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?
- ¿Anulando la notificación push en BroadcastReceiver (PushBots)?
- Android: Error com.parse.ParseException: se debe especificar al menos un campo ID (installationId, deviceToken) en esta operación
- java / error de análisis. intentando enviar desde android sdk a Parse
- Android ParseQueryAdapter paginación con RecyclerView.Adapter
- Cómo combinar varias consultas de análisis a la vez
- Cómo trabajar con dos cuentas Parse en la aplicación 'one'
- Cómo cambiar la contraseña usando la contraseña antigua en el análisis de android
- Problema de notificaciones push de Parse.com. Anular la suscripción no funciona, sigue recibiendo notificaciones push (Android).
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