Xamarin.Forms 应用程序属性未在与 Android 的 session 之间保存
jackei
阅读:61
2024-10-25 08:56:14
评论:0
在我的跨平台应用程序中,我通过以下方式保存应用程序属性:
Application.Current.Properties["myValue"] = "Test";
await Application.Current.SavePropertiesAsync();
然后我稍后像这样检索它们:
string myVal = Application.Current.Properties["myValue"];
这在使用 Android 模拟器时非常有效。我可以关闭模拟器,当我再次重新启动它时,我的应用程序数据会被保留。
但是,当我将此应用程序部署到物理 Android 设备时,数据保存按预期工作,直到我关闭应用程序并再次打开它。此时我检索一个空值。就好像数据只保存到内存(而不是文件)。
此外,完全相同的应用程序的 iOS 版本可以完美运行。当我打开应用程序时,所有以前的值都已保存,我可以检索它们。
我在 Android 版本上做错了什么?在实际部署到手机时,是否需要启用 Android 设置、权限或选项才能在应用程序 session 之间保存值?
请您参考如下方法:
我有一个类似的问题,只有调试版本保存了属性。我认为我们仍在等待错误修复,这是解决方法 on Xamarin Forms bugzilla .
简而言之:去.Droid project settings -> Android Options -> Linker
并输入/添加 "System.Runtime.Serialization"
跳过链接程序集。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。