Unity3D在iOS和Android上有应用程序状态吗?
问题描述:
在iOS和/或Android部署的基于Unity3D的应用程序上,应用程序在用户挂起后可以恢复哪些信息?它是从它离开的地方继续还是从一开始就开始应用?Unity3D在iOS和Android上有应用程序状态吗?
如果应用程序从头开始,有什么我可以利用恢复它的状态,或者我必须手动实现一个纪念品(模式)?我可以订阅哪些Unity3D事件来准备正在被暂停的应用程序?
答
一旦按下玩你无法控制它的建筑状态。
团结可以建立内部的时候使用它,但它似乎再次经历所有状态时,比如编译脚本,渲染的东西重建,构建版本,证书认证,建立位置等
这些都不是有效的,如果你手中有Unity源码和修改的构建管道。您可以在那里执行纪念以检查是否发生了变化,并忽略没有更改的状态。
这些不必对游戏代码或事件做任何事情。
答
只要应用程序保留在内存中,它将在暂停后恢复。
您可以使用OnApplicationPause (bool)
捕捉应用程序发送到后台并在那里执行一些序列化。如果应用程序被移出内存(因为用户关闭了内存或系统内存不足),则可以在重新启动应用程序时从该数据中重新载入以前的状态。
因此,如果我正确地理解了你,无论iOS或Android上的任何以前的“暂停”状态如何,Unity都会从头开始重新启动应用程序?就像它会从头开始,如果你关闭Windows或OSX上的应用程序? – Elenesski
它从头开始。在Windows上,如果目录保持不变,并且Unity中的临时文件(all + Android)替换为相同的构建ID,则OSX和iOS构建它将替换现有文件。 –