我使用Xamarin.Forms和Application.Current.Properties来持久保存用户设置。我在Android上测试它并且运行正常
但它不能将链接器配置设置为仅限SDK Assemblies 。 我通过将APK文件直接部署到设备来进行测试。然后我尝试输入一些设置并重新启动应用程序 - 重启后所有设置都将丢失。我没有使用复杂的数据类型,只有 string 和 bool 。
我在此处找到了一个解决方法:https://forums.xamarin.com/discussion/30723/problems-with-application-current-properties。 它建议忽略Xamarin.Forms.Core汇编,但它没有帮助。
当链接器配置设置为无时,APK大小很大(50mb!)。我想避免这种情况。
如何在不将链接器配置设置为None的情况下在Release版本中保留应用程序属性?它是一个已知的Xamarin bug吗?
答案 0 :(得分:3)
首先,来自xamarin docs(https://developer.xamarin.com/guides/xamarin-forms/working-with/application-class/#Properties_Dictionary):
注意:“属性”字典只能序列化基本类型以进行存储。试图存储其他类型(例如List可以无声地失败)。
如果要存储非基本类型,可以使用Newtonsoft.Json序列化程序将其转换为JSON字符串,然后写入属性(当您从属性中读取时不要忘记反序列化)
顺便说一句,知道错误:在Android上,属性在发布模式下无效。 建议使用Settings Plugin,它运作良好。