为啥我在 Android 上运行之间会丢失可编写脚本对象中的数据,但在编辑器中却没有?
Posted
技术标签:
【中文标题】为啥我在 Android 上运行之间会丢失可编写脚本对象中的数据,但在编辑器中却没有?【英文标题】:Why do I lost data in scriptable objects between runs on Android but not in editor?为什么我在 Android 上运行之间会丢失可编写脚本对象中的数据,但在编辑器中却没有? 【发布时间】:2016-06-27 15:32:52 【问题描述】:所以,我有一个可编写脚本的对象,我需要跟踪一个日期。因为可编写脚本的对象不能自己跟踪运行时之间的日期,所以我想出了以下方法:
public long EndTimeLong;
private DateTime endTime;
public DateTime EndTime
get
return endTime;
set
EndTimeLong = value.ToBinary();
endTime = value;
因此,将 EndTime 设置为任何值,将其作为二进制存储在 EndTimeLong 中。
然后在我在运行时使用它之前,我调用了以下方法:
public void ReInit()
EndTime = DateTime.FromBinary(EndTimeLong);
...
所以,在我完全使用脚本对象之前,应该恢复原始日期。
不过,这似乎在编辑器中可以正常工作,但在 android 中却不行。
我可以判断的是,在编辑器中,我运行了一个方法,将 endtime 设置为未来 60 秒。然后我停止并开始编辑器播放,它知道 endtime 仍然在未来并相应地采取行动。 (显示一些东西等) 然而,在 android 上,它认为时间不在未来。为什么两者之间的这种行为会有所不同?我该如何解决这个问题?
【问题讨论】:
【参考方案1】:我假设您在会话之间将 EndTimeLong 值写入文件,这就是您稍后加载它的方式。如果您提供有关如何在会话之间保存数据的更多信息,我们可能会提供更多帮助。
话虽如此,如果这是您在会话之间需要保存的全部内容,我会改用 Unity 的 PlayerPref 东西:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
【讨论】:
以上是关于为啥我在 Android 上运行之间会丢失可编写脚本对象中的数据,但在编辑器中却没有?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在分组 data.table 中的 lm 上使用更新会丢失其模型数据?
当我在 plotly 中使用 ggplotly 函数时,为啥文本注释会丢失?