Da dies die meiste Zeit gut funktioniert, muss ich annehmen, dass zwischen onCreate und den geladenen Ressourcen eine Art Race-Bedingung besteht.
Wenn die gleiche APK-Datei - keine Neukompilierung, keine Neuinstallation usw. - den Fehler nicht konsistent erzeugt, dann könnte es eine Art Race Condition sein, obwohl mich das überraschen würde.
Wenn die same APK-Datei konsistent fehlschlägt, dann ist dies eine größere Vielfalt an Ressourcen, die nicht mit dem Rest des Code-Problems synchronisiert sind, und das Säubern der Projekt wird es aufräumen.
Gibt es einen besseren Ort, um einen Dienst zu initialisieren, wenn die Anwendung gestartet wird?
Meiner Meinung nach ist die Anzahl der Apps, die einen Dienst beim Start der Anwendung initialisieren müssen, extrem niedrig, und ich kann mir kein Szenario ausdenken, wo dies ein guter Plan wäre. Das soll nicht heißen, dass du kein solches Szenario hast, aber es ist ein ernsthafter Code-Geruch in meinem Buch ohne eine Erklärung.
Ich habe festgestellt, dass in Fällen, in denen viele Ressourcen verwendet werden (und in R.java generiert werden), das Bereinigen der Anwendung vor der Ausführung diese Probleme behebt. Ich würde also annehmen, dass dies keine Race Condition ist - aber ein Problem mit Eclipse oder dem Android SDK mit nicht erfrischenden Ressourcen. Was die Platzierung des Codes betrifft - es ist meiner Meinung nach so gut wie jede andere Option.
Ich habe die folgende Anwendungsklasse für meine App. Wenn die Anwendung gestartet wird, möchte ich einige Einstellungen aus den Einstellungen abrufen und einen Hintergrunddienst starten.
%Vor%Das funktioniert normalerweise gut, aber gelegentlich, wenn ich mein Programm von Eclipse "Run" starte, erhalte ich diesen Fehler:
%Vor%Diese ID stammt von meinem R.java:
%Vor%Da dies die meiste Zeit gut funktioniert, muss ich davon ausgehen, dass zwischen onCreate und den geladenen Ressourcen eine Art Wettlaufsituation besteht.
Wenn das der Fall ist, wird empfohlen, Ressourcen in der Anwendung onCreate nicht zu lesen?
Wenn ja, gibt es einen besseren Ort, um einen Dienst beim Start der Anwendung zu initialisieren?
Ich habe die folgende Anwendungsklasse für meine App. Wenn die Anwendung gestartet wird, möchte ich einige Einstellungen aus den Einstellungen abrufen und einen Hintergrunddienst starten.
%Vor%Das funktioniert normalerweise gut, aber gelegentlich, wenn ich mein Programm von Eclipse "Run" starte, erhalte ich diesen Fehler:
%Vor%Diese ID stammt von meinem R.java:
%Vor%Da dies die meiste Zeit gut funktioniert, muss ich davon ausgehen, dass zwischen onCreate und den geladenen Ressourcen eine Art Wettlaufsituation besteht.
Wenn das der Fall ist, wird empfohlen, Ressourcen in der Anwendung onCreate nicht zu lesen?
Wenn ja, gibt es einen besseren Ort, um einen Dienst beim Start der Anwendung zu initialisieren?
Da dies die meiste Zeit gut funktioniert, muss ich annehmen, dass zwischen onCreate und den geladenen Ressourcen eine Art Race-Bedingung besteht.
Wenn die gleiche APK-Datei - keine Neukompilierung, keine Neuinstallation usw. - den Fehler nicht konsistent erzeugt, dann könnte es eine Art Race Condition sein, obwohl mich das überraschen würde.
Wenn die same APK-Datei konsistent fehlschlägt, dann ist dies eine größere Vielfalt an Ressourcen, die nicht mit dem Rest des Code-Problems synchronisiert sind, und das Säubern der Projekt wird es aufräumen.
Gibt es einen besseren Ort, um einen Dienst zu initialisieren, wenn die Anwendung gestartet wird?
Meiner Meinung nach ist die Anzahl der Apps, die einen Dienst beim Start der Anwendung initialisieren müssen, extrem niedrig, und ich kann mir kein Szenario ausdenken, wo dies ein guter Plan wäre. Das soll nicht heißen, dass du kein solches Szenario hast, aber es ist ein ernsthafter Code-Geruch in meinem Buch ohne eine Erklärung.
Ich habe festgestellt, dass in Fällen, in denen viele Ressourcen verwendet werden (und in R.java generiert werden), das Bereinigen der Anwendung vor der Ausführung diese Probleme behebt. Ich würde also annehmen, dass dies keine Race Condition ist - aber ein Problem mit Eclipse oder dem Android SDK mit nicht erfrischenden Ressourcen. Was die Platzierung des Codes betrifft - es ist meiner Meinung nach so gut wie jede andere Option.
Tags und Links android