Есть ли проблемы с производительностью при сохранении настроек приложения в виде статической переменной App () по сравнению со словарем свойств? - PullRequest
0 голосов
/ 30 сентября 2018

В настоящее время я храню переменные, специфичные для приложения, например:

public partial class App : Application
{
   public static int id;

Когда мое приложение запускается, я загружаю эти значения из таблицы в базу данных, а когда они меняются, я меняю значение и обновляю базу данных.

Здесь я понимаю, что есть другой способ сделать это:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/application-class#Properties_Dictionary

if (Application.Current.Properties.ContainsKey("id"))
{
   var id = Application.Current.Properties["id"] as int;
   // do something with id
}

Но когда я пытаюсь закодировать это, используя тот же код, что и в Xamarinна странице примера она выдаёт мне ошибку:

App.xaml.cs(26,26): Error CS0077: The as operator must be used with a reference type or nullable type ('int' is a non-nullable value type) (CS0077)

Может кто-нибудь сказать мне, как я могу исправить эту ошибку, а также более эффективно использовать словарь свойств по сравнению с хранением информации в базе данных SQLLite?

1 Ответ

0 голосов
/ 01 октября 2018

Словарь Properties сохраняется на устройстве, в то время как переменные static в вашем классе App не сохраняются (они существуют в памяти во время работы вашего приложения).

Таким образом, это зависит от того,если вы хотите сохранить информацию при изменениях состояния жизненного цикла, вам лучше воспользоваться словарем Properties.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...