Aktivität Leerlauf-Timeout für ActivityRecord

So, ich habe ein seltsames problem, und ich bin mir nicht ganz sicher, was alle Informationen, die ich liefern sollte, aber ich werde mein bestes tun-nur lassen Sie mich wissen, wenn ich brauche, um hinzuzufügen mehr info. Ich habe ein Problem, dass wenn ich fertig bin meine Activity und zurück zum vorherigen Activity (oder starten Sie es mit einem neuen Intent - das problem scheint zu sein, zentriert auf die Fertigstellung des Activity) die UI-Leistung sinkt drastisch um ungefähr sechs oder sieben Sekunden, dann wieder normal.

Vom LogCat diese Warnung erscheint 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ät mal aus, UI ist die Leistung wieder normal. Bis zu diesem Punkt ist es sehr träge. Ich habe kein code, ich bin mir bewusst, dass blockieren könnte der Haupt-thread, und ich bin sogar so weit gegangen, zu kommentieren, meine gesamte onPause() Methode, um zu sehen, ob es einen Unterschied macht, und es funktioniert nicht.

Den Activity nicht laichen alle hintergrund-threads, die nicht durchführen jegliche Netzwerk-Aktivität, die nur Zugriff auf die Festplatte hat es Zugriff auf einige der SharedPreferences. Die bisherigen Fragen habe ich in der Lage zu lokalisieren sind über idle-timeouts für HistoryRecord, nicht ActivityRecord.

Irgendwelche Ideen, was würde das verursachen? Oder wie könnte ich gehen, über die Bestimmung, was ist die Blockierung der UI-thread, wenn es das ist, was passiert ist?

BEARBEITEN : Okay, habe gerade versucht auskommentieren alles außer super.onCreate() und setContentView() -- das problem noch besteht. Es tritt nicht mit anderen Aktivitäten, aber diese ein, aber es ist NICHTS ZU dieser. :/

  • Technisch ist es möglich, das blockieren der UI-thread w/ SharedPreferences, aber ich denke, es ist wahrscheinlich nicht so wahrscheinlich, wie ein Netzwerk zugreifen oder etwas. Haben Sie versucht, es zu entfernen irgendwie?
  • Danke für die Idee. Habe gerade versucht, die; entfernt alle Verweise auf SharedPreferences, kommentierte meine onPause() und onResume(), aber kein Unterschied.
  • kcoppock siehe auch meine Frage stackoverflow.com/questions/30053090/...
InformationsquelleAutor kcoppock | 2012-07-12
Schreibe einen Kommentar