EntitySetを持つオブジェクトがアプリケーション・ステートに保存されると、休止状態から再開するときにOutOfMemoryExceptionが発生します。次にコードの例を示します。OnActivateでPhoneApplicationService.Current.StateのEntitySet(ローカルdb)オブジェクトを使用したOutOfMemoryException
var list = new TaskList() { Title = "AA" };
list.TaskItems = new EntitySet<TaskItem>();
list.TaskItems.Add(new TaskItem() { Notes = "BB" });
PhoneApplicationService.Current.State["CurrentList"] = list;//Fails only when resuming
var list1 = (TaskList)PhoneApplicationService.Current.State["CurrentList"]; // WORKS FINE
//PhoneApplicationService.Current.State["CurrentList"] = "AnyString" //Works fine;
私は "開始"を押して、アプリケーションから離れて移動します。その後、私は "戻る"ボタンを押して休眠状態から再開させ、しばらくの間 "再開"と言い、しばらくしてからOutOfMemory例外を取得します。
「状態」からオブジェクトを保存して取得すると、正常に動作します。それは "再開"時のみ例外をスローします。なぜ誰が知っていますか?回避策はありますか?