我最近开始使用Xamarin Essentials,我个人很喜欢团队在包装上所做的工作。
我只是浏览相同的文档,即Preferences API,它看起来也很光滑,也很好用。
但是我个人想知道的是,Preferences API和Xamarin Forms Application Properties之间的实际区别是什么。
[根据我的研究,到目前为止,Properties
是IDictionary<string,object>
,而Preferences是使用本机SharedPreferences
和NSUserDefaults
存储数据的类。现在,它们两个都可以保留持久属性。
但是文档似乎没有为我提供有关何时应使用它们的任何想法。
还有Xamarin Essentials突出了以下限制:
存储字符串时,此API旨在存储少量文本。如果您尝试使用它来存储大量文本,则性能可能会不佳。
而应用程序属性没有您可以在此处找到的任何内容https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.application.properties?view=xamarin-forms
还有其他我想念的东西吗?
Application.Properties
使用依赖服务对数据进行序列化并将其存储在每个平台本机文件系统上的文件中。 Here is code the from repo
虽然Preferences API使用平台特定的持久性机制,即android中的User Preference
和iOS中的User Defaults
如果您没有特殊需要,请坚持使用Xamarin.Essentials,因为显然可以弃用某些Xamarin.Forms API(我不确定这一特定API)。例如Device.OpenUri。
要考虑的另一件事是安全存储API,您可以在其中将诸如访问令牌之类的加密设置放在安全的位置。
干杯,