今天在写cocos2d-x的程序的时候,发现了这个问题,在按开始键进入后台,或者按返回键返回程序。引发这样的异常。导致线程中断,无法返回程序。
异常信息如下:
在 System.Security.SecurityException 中第一次偶然出现的“System.Runtime.Serialization.dll”类型的异常
在 System.Reflection.TargetInvocationException 中第一次偶然出现的“mscorlib.dll”类型的异常
在 System.Security.SecurityException 中第一次偶然出现的“System.Runtime.Serialization.dll”类型的异常
线程 '<无名称>' (0xec30092) 已退出,返回值为 0 (0x0)。
线程 '<无名称>' (0xe9d009a) 已退出,返回值为 0 (0x0)。
线程 '<无名称>' (0xfbf0072) 已退出,返回值为 0 (0x0)
这样让人很纠结。突然程序进入后台后不能返回了。
费了好大的劲,终于弄明白是什么原因导致这个问题。是因为我在PhoneApplicationService中保存了一个场景的引用,这种相当暴力的行为,微软认为是不安全的吧。导致引发了这个安全异常。。
怎么解决呢,只有在Deactivate上把PhoneApplicationService保存 的这个场景remove掉。但是,我还是需要这个值呢,只能在remove前把它保存到IsolatedStorageSettings里面了,然后在Actived里面再把值取出来,再把之存到PhoneApplicationService。
但是,现在还发现出现一样的异常。因为存在IsolatedStorageSettings里面还是不符合安全要求。。。但是还是可以达到目的了。。可以让程序进入后台,并且能返回了。其他的安全什么的管他呢。。。。