Also habe ich ein seltsames Problem, und ich bin mir nicht ganz sicher, welche Informationen ich liefern sollte, aber ich werde mein Bestes geben - lassen Sie es mich wissen, wenn ich weitere Informationen hinzufügen muss. Ich habe ein Problem, dass, wenn ich meine Activity
beenden und zur vorherigen Activity
(oder starten Sie es mit einer neuen Intent
- das Problem scheint auf die Fertigstellung der Activity
zentriert) die UI-Leistung drastisch für etwa sechs oder sieben Sekunden fällt , kehrt dann zu normal zurück.Aktivitäts-Leerlauf-Timeout für ActivityRecord
Von LogCat
, erscheint diese Warnung konsequent:
07-11 22:09:42.594: W/ActivityManager(292): Launch timeout has expired, giving up wake lock!
07-11 22:09:42.601: W/ActivityManager(292): Activity idle timeout for ActivityRecord{42bf6e00 com.kcoppock.sudokubeta/com.kcoppock.sudoku.SudokuBoardActivity}
Sobald die Aktivitätszeiten aus, UI Performance wieder normal. Bis dahin ist es sehr träge. Ich habe keinen Code, von dem ich weiß, dass er den Hauptthread blockieren könnte, und ich bin sogar so weit gegangen, meine gesamte onPause()
-Methode zu kommentieren, um zu sehen, ob es einen Unterschied macht, und das tut es auch nicht.
Die Activity
erzeugt keine Hintergrundthreads, führt keine Netzwerkaktivität aus, der einzige verfügbare Festplattenzugriff ist ein Zugriff auf SharedPreferences
. Bei den vorherigen Fragen, die ich finden konnte, handelt es sich um Leerlaufzeitüberschreitungen für HistoryRecord
, nicht .
Irgendwelche Ideen, was würde dies verursachen? Oder wie könnte ich herausfinden, was den UI-Thread blockiert, wenn das passiert?
EDIT: Okay, kommentiert alles nur ausprobiert außer super.onCreate() und setContentView() - das Problem weiterhin besteht. Es kommt nicht mit anderen Aktivitäten vor, aber dieses hier, aber es gibt NOTHING TO dieses. :/
Technisch ist es möglich, den UI-Thread w/'SharedPreferences' zu blockieren, aber ich denke, es ist wahrscheinlich nicht so wahrscheinlich wie ein Netzwerkzugang oder so etwas.Hast du versucht es irgendwie zu entfernen? –
@AlexLockwood Danke für die Idee. Ich habe das gerade versucht; habe alle Verweise auf SharedPreferences entfernt, meine onPause() und onResume() auskommentiert, aber keinen Unterschied. – kcoppock
kcoppock auch meine Frage http://stackoverflow.com/questions/30053090/flash-toggle-button-crash-android – Nepster