2016-07-25 43 views
0

Ich baue eine App in Unity3D für iOS. Ich habe große Probleme mit der Verzögerung, aber aus irgendeinem Grund verschwindet die Verzögerung für etwa 5 Sekunden, nachdem ich die App angehalten habe, indem ich das iOS-Hauptmenü heruntergedrückt oder die Home-Taste gedrückt und dann wieder zur App zurückgekehrt bin.Was passiert, wenn eine App übersendet wird?

Was passiert, wenn ich die App aussetze? Wie friert Unity die App ein? Welche Funktionen heißen? Was passiert speichermäßig usw.?

+0

im keine Einheit Experte, bu Es hört sich an, als ob etwas fortwährend Aufgaben hervorbringt, so dass die CPU oder GPU es vielleicht nicht mehr handhaben kann und vielleicht die Aufgaben entfernt werden, wenn die App in den Hintergrund tritt ... nur spekulieren – Fonix

+0

Einer der möglichen Gründe für diese Art von Verzögerung ist viele GameObject gleichzeitig instanziieren und zerstören. – Joshua

Antwort

1

Wenn Benutzer die Home-Taste drücken oder Application/Game in irgendeiner Weise verlassen. Es wird alles anhalten, was in deinem Spiel passiert. Alle Methoden Update()FixedUpdate() und LateUpdate() würden auch pausieren. Es wird OnApplicationFocus und OnApplicationPause Methoden zu zwei Zeiten aufrufen (App verlassen und zurück zur App kommen). Sie können diese Methoden implementieren, um anwendungsstatusspezifisches Verhalten auszuführen. Allerdings hängt die Verzögerung im Spiel mit Ihrer Skriptlogik zusammen. Ich würde Ihnen empfehlen, Ihre App für iOS-Geräte zu optimieren. Hier sind einige nützliche Links für Sie: