问题标签 [tombstoning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 墓碑问题
当我尝试为我的应用程序墓碑时,我一直在手机上遇到这种情况。
不应使用数据合同名称“UTF8Encoding:http://schemas.datacontract.org/2004/07/System.Text”键入“System.Text.UTF8Encoding”。将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将它们添加到传递给 DataContractSerializer 的已知类型列表中。
我没有在我的应用程序的任何地方使用 WCF 或数据协定,也没有在墓碑上执行任何代码,所以我不确定这是从哪里来的。我的代码中也没有任何文本或模式。
在堆栈跟踪中,我没有看到我的任何代码正在执行。
我该如何调试这样的东西?
解决方案:不容易,但在调试菜单中启用异常是一个开始,然后使用 shift+f9 尝试一些值以查看可能导致它的原因。最后的答案是在应用程序关闭之前清除状态,就像这样。
这样,您就可以清除对象,这样手机就不会尝试为您管理状态。我添加了自己的代码以使用自定义序列化程序将状态保存到手机,并在重新激活时从手机中读取。我认为如果你的应用程序足够简单,只有一些没有网络安全或 Facebook 登录等的字符串和数字,你可以把它留给手机来处理墓碑。就我而言,我需要一个更强大的系统。
c# - WP7 - 应用程序停用和激活期间的奇怪行为
我遇到了一些奇怪的行为,我似乎找不到任何信息。当我离开我的应用程序然后导航回来(例如,通过启动BingMapsDirectionsTask
或简单地锁定和解锁设备)时,整个屏幕在恢复时被向上推约 1/4 的高度。
我猜这与我处理应用程序生命周期(或缺乏)的方式有关,因为我目前是Application_Activated
无Application_Deactivated
代码的。
这是一个演示这种神秘行为的快速剪辑,因为我无法更好地解释它。
http://www.youtube.com/watch?v=BWHJT59F000
我创建了另一个默认的 VS2010 Express 项目,它的行为方式相同,所以我猜很多人都有同样的问题。
提前致谢, 问候
c# - 导航到页面时是否应该始终加载瞬态状态,还是仅在从墓碑状态恢复时加载?
我正在阅读 Windows Phone 7.5 Unleashed,并且有很多看起来像这样的代码(在页面的代码隐藏中):
这个想法是loaded
当从墓碑状态恢复时这将是错误的,所以我们知道我们想要重建视图模型。
我的问题是:为什么要在if
块外加载瞬态?如果我们的内存没有被丢弃(即应用程序没有被墓碑化),我们就不能继续使用旧的视图模型而不重新加载它的状态吗?
导航到页面时是否应该始终加载瞬态状态,还是仅在从墓碑状态恢复时加载?
windows-phone-7 - wp7序列化安全异常
首先,描述可能有点长,有很多代码,但我不想提供我能提供的所有信息。我正在为我的应用程序使用墓碑,我想保存一个序列化类:
而且我在从...导航的异常中就在这里:
现在振作起来,异常即将来临:
我已经研究了很多与此相关的内容,但我发现是空的:(感谢任何帮助。
[编辑]
像问题的接缝是 TombStone 类具有私有可访问性,我改变了它......但我得到了以下异常:
不应使用数据合同名称“ArrayOfKeyValueOfstringJTokeneJCYCtcq:http://schemas.microsoft.com/2003/10/Serialization/Arrays”键入“Newtonsoft.Json.Linq.JObject”。将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将它们添加到传递给 DataContractSerializer 的已知类型列表中。
这里也是 UserDetails 类
c# - 在序列化/反序列化往返之后 DataServiceContext 不可用
我正在为我的 WP 7.1 应用程序中的墓碑支持而苦苦挣扎。我有一个长期存在的 DataServiceContext 实例,我使用 DataServiceState 助手对其进行序列化和反序列化。反序列化后,我可以使用 URI 作为查找键从上下文中成功检索我的 User 类的实例。例如,
但是,如果我尝试在 User 实例上加载一个属性(我刚刚从上下文中提取),如下所示:
上下文抛出 InvalidOperationException 消息“上下文当前未跟踪实体。” 反序列化似乎并不能保持上下文的引用完整性。
我创建了一个简单的应用程序来演示这个问题。从 Skydrive 下载:http ://sdrv.ms/MhctLA
该应用程序使用http://services.odata.org/OData/OData.svc上的示例数据服务。我手动运行 dataSvcUtil 在 ODataDemo.cs 中创建代理。请注意,我必须在生成的代码中为类 DemoService 添加 DataContract 属性,但没有进行其他更改。
应用程序运行后,点击“数据服务上下文”按钮。以下页面将从数据服务加载所有产品,从上下文中随机选择一个进行检索,缓存该产品的标识 URI,然后加载该产品的 Category 属性。
接下来,点击“序列化”按钮。应用使用 DataServiceState 序列化上下文。
最后,点击“反序列化”按钮。应用程序反序列化上下文,然后针对复活的上下文尝试以下操作:
- 使用 DataServiceContext.TryGetEntity 和缓存的 URI 获取产品。
- 使用 DataServiceContext.TryGetUri 获取同一产品的 URI。
- 加载产品的 Category 属性。
第 1 步成功,第 2 步和第 3 步失败。TryGetUri 找不到我刚刚从上下文中检索到的实体的描述符这一事实表明反序列化的上下文有问题。
我做错了什么可怕的事情吗?或者这是一个错误?
windows-phone-7 - WP7 如何在 TombStoning 期间存储 LiveConnectSession?
我正在使用 MS 提供的 PhotoSkyOnTheGo 示例的 windows live 登录策略。因此,当我的应用程序启动时,它会显示一个 Windows 实时登录页面。
在应用程序运行时,我记得 LiveConnectSession 连接到 SkyDrive。
现在,当应用程序墓碑时,我需要一种方法来保存 LiveConnectSession。IsolatedStorageSettings.ApplicationSettings 不起作用,可能是因为 LiveConnectSession 不可序列化(它在调试输出中显示一些 InvalidDataContractException)。
那么如何存储 Session 以防应用程序墓碑?或者提供的 PhotoSkyOnTheGo 示例是垃圾,我需要能够在访问 SkyDrive 的任何时候重新连接?
c# - how should a metro app cache images for tombstoning (and should it)?
I have a c# metro app that downloads a collection of objects that have a property for a uri. This collection is bound to a ListBox with an Image source bound, this works fine.
When the app is tombstoning, I want to preserve all app state including the collection and the images that have been downloaded from the internet.
Covering the case, the users actions result in the collection being downloaded and displaying correctly they switch away to another app and the my app is terminated. The user then switches back to my app and expects exactly the same display as before but are now not connected to the internet.
Saving the collection is easy, and hooking into the ImageLoaded event on the Image is easy but how can I then save that image?
Is this required functionality, will windows automatically cache this type of http based image ?
Beware, the API has changed for RP and the commonly found examples using WritableBitmap no longer work as the constructor can no longer accept an ImageSource.
Update:
Metro APP - BitmapImage to Byte[] or Download Image from Web and convert it to a Byte[] Array that's what I was afraid of, those do not use the existing working bound image element but make a separate http call. I really do not want to download all my images twice. I will try a spike and see if windows caches the http request in this scenario.
c# - WP7中的墓碑
我想在我的 WP7 应用程序中实现墓碑,这个应用程序不是基于 MVVM 模式。任何人都可以向我推荐任何好的例子来实现它。所以我可以使用一些通用类来维护我的应用程序的状态。
iphone - 如何在截屏之前知道用户何时按下了 iOS 设备上的硬按钮?
在 iOS 上,当用户按下硬按钮时,系统似乎会截取应用程序的状态(以便在应用程序下次启动时显示,以使加载对用户透明)然后它调用 UIApplicationDelegate 的 applicationDidEnterBackground 来指示它进入后台状态的应用程序。那正确吗 ?
我需要做的是知道用户在系统截屏之前按下了硬按钮。实际上,我想在进入后台状态时修改我的视图,因为我想在将来再次启动应用程序时隐藏一些东西。
截屏后似乎调用了 applicationDidEnterBackground 。有没有办法被称为 BEFORE ?
谢谢
windows-phone-7 - 哪种方法更好?“墓碑应用程序并在恢复时重新加载数据”或“在锁定屏幕/背景下运行”
我目前正在开发一个需要从网上获取数据的应用程序。但是如果用户按下开始按钮或启动任何其他应用程序,我的应用程序中的数据获取过程就会中断,并且应用程序会抛出 WebException 等异常。
为了防止这种情况发生,即使用户停用它,我也强制应用程序在后台运行。这是一种不好的方法吗?将应用程序墓碑化并从状态字典中恢复状态会是一种更好的方法吗?