2012-04-03 4 views
2

Я получаю сообщение об ошибке в моем приложении, которое действительно загадочно. Мои единственные мысли в том, что я пытаюсь сохранить слишком много информации в состоянии. В нижней части этого сообщения отображается сообщение об ошибке. Я хочу знать, есть ли способ управлять тем, сколько данных вы сохраняете. Я использую диспетчер состояний прямо сейчас, чтобы быстро сохранить данные, но мне, очевидно, нужно добавить еще несколько логик, в которых говорится: «Если размер> X,« Сохранить в изолированном »вместо« Состояние ».Состояние на телефоне Windows

Каковы наилучшие практики в этом отношении?

Ошибка: 0x80040204

at Microsoft.Phone.Shell.Interop.ShellPageManager.SetProperty(String name, Byte[] blob) 
    at Microsoft.Phone.Shell.StreamPersister.Save(ShellPageManager shellPageManager, String key, IDictionary`2 dictionary, IEnumerable`1 knownTypes) 
    at Microsoft.Phone.Shell.PhoneApplicationService.FireDeactivated() 
    at Microsoft.Phone.Execution.NativeEmInterop.FireOnPause() 

ответ

1

Посмотрите на doc

You should not use this property for excessive storage because there is a limit of 2 MB for each page and 4 MB for the entire application.

Во-первых, я хотел бы пересмотреть проект. Сколько вы экономите в среднем? Какой максимум? Это плохой UX, чтобы позволить пользователю долго ждать загрузки. Если вам действительно нужно, рассмотрите использование IsolStorageFile только без «if Size> X, Save to Isolated вместо State».

+0

Наверное, я ищу примеры того, как узнать, когда вы достигли своего предела. Я не вижу никаких свойств для «размера» или «следа». Размер моего приложения может варьироваться в зависимости от местоположения человека. Большие города означают большие массивы данных. – firebellys

+0

Почему вы хотите знать, когда вы достигли предела? Используйте файл по умолчанию, если вы достигнете предела. Если вы действительно хотите знать, когда вы достигнете предела, выведите исключение. –

+0

Чтение и запись в изолированное хранилище может занять много времени на более медленном телефоне, я хотел избежать его, если это не требуется. Однако я поймаю эти исключения. – firebellys

Смежные вопросы