2016-08-01 84 views
0

在iOS和/或Android部署的基於Unity3D的應用程序上,應用程序在用戶掛起後可以恢復哪些信息?它是從它離開的地方繼續還是從一開始就開始應用?Unity3D在iOS和Android上有應用程序狀態嗎?

如果應用程序從頭開始,有什麼我可以利用恢復它的狀態,或者我必須手動實現一個紀念品(模式)?我可以訂閱哪些Unity3D事件來準備正在被暫停的應用程序?

回答

0

一旦按下你無法控制它的建築狀態。

團結可以建立內部的時候使用它,但它似乎再次經歷所有狀態時,比如編譯腳本,渲染的東西重建,構建版本,證書認證,建立位置等

這些都不是有效的,如果你手中有Unity源碼和修改的構建管道。您可以在那裏執行紀念以檢查是否發生了變化,並忽略沒有更改的狀態。

這些不必對遊戲代碼或事件做任何事情。

+0

因此,如果我正確地理解了你,無論iOS或Android上的任何以前的「暫停」狀態如何,Unity都會從頭開始重新啓動應用程序?就像它會從頭開始,如果你關閉Windows或OSX上的應用程序? – Elenesski

+0

它從頭開始。在Windows上,如果目錄保持不變,並且Unity中的臨時文件(all + Android)替換爲相同的構建ID,則OSX和iOS構建它將替換現有文件。 –

0

只要應用程序保留在內存中,它將在暫停後恢復。

您可以使用OnApplicationPause (bool)捕捉應用程序發送到後臺並在那裏執行一些序列化。如果應用程序被移出內存(因爲用戶關閉了內存或系統內存不足),則可以在重新啓動應用程序時從該數據中重新載入以前的狀態。