ich zu finden bin, dass etwa 1/5 meiner Tests frieren, und nach einigem Suchen für das Problem, das ich es verengt auf die Linie nach unten:ParseInstaller.getCurrentInstallation() saveInBackground() ist das Einfrieren meiner Anwendung
ParseInstallation.getCurrentInstallation(). SaveInBackground();
Ich verwende Parse 1.5.1 und ein Android 4.4.2-Gerät. Meine Anwendungsklasse wie folgt aussieht:
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");
}
}
Das Verhalten auf meinem Gerät ist, dass ich zum ersten Mal mit einem leeren weißen Bildschirm für etwa 5 Sekunden lang sehen, und dann wird der Bildschirm schwarz. Ich bin mir nicht sicher, wie lange der Bildschirm schwarz bleibt, da ich normalerweise nah dran bin. Ich habe es für etwa 10 Minuten einmal ohne Veränderung sitzen lassen. Ich kann die Zurück-Taste nicht drücken und jede Berührung auf dem Bildschirm tut nichts. Ich bin gezwungen, meine Home-Taste zu verwenden, und zwinge dann die Anwendung zum Schließen. Beim erneuten Öffnen der Anwendung verhält es sich und funktioniert normal.
Weitere Forschungen führten mich diesen Beitrag zu finden: https://www.parse.com/questions/android-saveinbackground-lock-the-main-thread
Aber noch habe ich es nicht gelungen, eine Lösung zu finden. Ein Vorschlag in dem obigen Beitrag ist es, einfach die Position dieses Codes zu verschieben. Ich habe dies zu einem gewissen Zeitpunkt nach der onCreate() - Methode meiner Hauptaktivität versucht (nicht zu verwechseln mit der onCreate() -Methode der Anwendung). Das Verhalten schien normal zu sein, bis ich an den Punkt kam, an dem der getCurrentInstallation.saveInBackground() Code aufgerufen wurde, wo meine Anwendung einfror und nicht reagierte, bis ich sie geschlossen hatte.
Gibt es Lösungen für dieses Problem?
Viele meiner App-Benutzer berichteten das gleiche Problem (weißer Bildschirm oder schwarzer Bildschirm). Ich vermutete Pars, aber bestätigte es nicht wirklich. Aber wenn ich das lese, denke ich, dass es wahr sein könnte. Aber das Problem wurde bei der Neuinstallation gelöst oder zwangsweise geschlossen (keine gute Lösung).Sonderbar. –
Leider ist es nicht akzeptabel, den Benutzer zum Schließen zu zwingen. Dieser Fehler tritt in mehreren verschiedenen Fällen auf. Neuinstallation von Eclipse, Neuinstallation aus der .apk-Datei und Aktualisierung von der aktuellen Play Store-Version. Alle drei haben zu demselben Thema geführt. Es passiert nicht jedes Mal, aber oft genug, um eine schlechte Wirkung zu haben. –
Wie wäre es, es in Ihrem eigenen 'Thread' zu speichern? –