2012-04-03 9 views
3

Ich bin mit dem Problem des schwarzen Bildschirms konfrontiert, während die Aktivität von einem zum anderen wechseln. Ich habe die Antwort gefunden, warum dies passiert, konnte aber keine Lösung dafür finden. Wenn ich von meiner playActivity zu GameCompleteActivity gehe, von wo aus ich zum nächsten Level gehe, beende ich die Instanz von playActivity und rufe neue Intent für die gleiche PlayActivity auf, weil mein ganz anderes Level in der PlayActivity funktioniert, weil meine Anforderung erfüllt ist Ich muss die letzte playActivity beenden, um neue playActivity für das nächste Level zu starten. Hier bekomme ich eine Verzögerung oder einen schwarzen Bildschirm, während ich zum nächsten Level gehe, d. H. Nach dem Ende und dem erneuten Start der playActivity dauert es einige Zeit.bekommen Black Screen während der Änderung Aktivität

Ich versuchte Transculent.Theme auch, aber es hat nicht funktioniert. AsyncTask gab mir auch nicht das gewünschte Ergebnis

Jetzt dachte ich, ich zeige eine Animation der Aktivität verblassen oder etwas, das mein schwarzes Bildschirmverhalten verstecken könnte?

brauchen Hilfe in der Lösung? .... danke

Antwort

5

Das bedeutet normalerweise, dass die neue Aktivität Daten in den UI-Thread lädt, daher bleibt der Bildschirm schwarz, bis alles geladen ist.

Verschieben Sie den Code, der alle Aktivitäten Daten lädt (es ist ein Spiel, so denke ich die Ebene & Grafiken) in einem separaten Thread und dann lässt die PlayActivity wissen, wenn die Daten bereit sind zu verwenden.

+0

ok Ich werde versuchen, die Dinge wieder auf AsyncTask zu setzen hoffe, es hilft .... und werde zurück zu Ihnen ... – user1169079

0

Immer wenn so etwas passiert Denken Sie daran zu debuggen, wenn neue Aktivität aufgerufen wird.

Während Sie ein Spiel erstellen, versuchen Sie Partitionen verschiedener Module zu erstellen. So wird es einfach, Ihr Problem zu verfolgen.

+0

Ich werde versuchen, das zu erhalten? Ich muss es wirklich hart debuggen, sonst denke ich, ich muss die Animation setzen, bevor meine Aktivität startet thatsz d nur übrig für die Zeit ... – user1169079

+0

@ user1169079: Debuggen wegen Animationseffekt und so bekommt es eine klare Vorstellung davon, wo du stehst . – Bhavin

0

Wenn Sie schweren UI Code in Ihrem onCreate haben, versuchen Sie es außerhalb von onCreate, indem Sie eine Funktion IntializeUI() erstellen oder versuchen, es in modular oder das Transculent Theme für Ihre Aktivität zu teilen ...

0

es ist eine sehr einfache Fehler: nur in der Manifest-Datei-Eigenschaft auf Ihrer Tätigkeit machen: android: theme = "@ android. style/... - und es transluzent

0

Während es, dass zu viel Aktivität möglich ist, auf dem Hauptthread wird dies tun, nach meiner Erfahrung die häufigste/wahrnehmbare Ursache ist Aufruf von finish() unmittelbar nach startActivity() beim Übergang.Sie nicht sagen, es ist falsch, dies zu tun, aber wenn Sie die BL loswerden wollen Ack Bildschirm müssen Sie möglicherweise einen anderen Ansatz versuchen, wie zum Beispiel noHistory.

Verwandte Themen