摩托罗拉 MC65 - Windows Mobile 6.5 在恢复后终止了我的应用程序

Motorola MC65 - Windows Mobile 6.5 kills my app after resuming

我的 MC65 Windows Mobile 6.5 设备在从睡眠模式恢复后终止了我的 .NET CF 3.5 应用程序。该应用程序正常 运行,设备将进入睡眠模式或我按下电源按钮。然后我再次按下电源按钮,设备被唤醒,但我的应用程序在屏幕上不再可见,而不是在任务管理器中。我在我的应用程序日志中找不到任何日志,没有异常等。 Windows Mobile 是否以某种方式杀死了使用大量资源的应用程序而没有任何痕迹? 我观察到如果设备插入充电器,则不会发生这种情况。

可能是什么原因?如何预防?

尽管 Windows 移动设备可能会在资源不足且应用程序对 WM_HIBERNATE 消息没有反应时终止应用程序,但这不是您当前设置的原因。

如果 minimized/hidden,应用程序将从屏幕上消失。如果另一个应用程序出现在前台并稍后关闭,也可能会发生这种情况。 window 堆栈随即更改,您的应用程序不再处于前台。

如果应用程序访问的资源在设备进入挂起状态时将被挂起,则它可能会在 suspend/resume 周期崩溃。这些资源可能是网络连接或卷(存储)资源。暂停期间暂停的内容取决于电源管理设置。可能会暂停网络以节省电量,或者可能会卸载已安装的卷(存储卡)(尽管实际设备不会出现这种情况)。

因此,要么您的应用正在使用暂停的网络连接并且您的应用对网络变化不稳健,要么如注释中所述,设备确实在 suspend/resume 期间卸载了存储卡驱动程序。对于以后,要么将您的应用程序移动到设备存储,要么联系供应商以获得另一个电源管理配置文件,其中在 suspend/resume.

期间维护外部存储。

这会导致您的应用程序及其支持的文件可能位于存储卡上。将您的应用程序和所有文件移动到另一个存储,例如:应用程序文件夹。关注link了解更多详情:https://social.msdn.microsoft.com/Forums/en-US/f0fc4eae-dcaa-402d-b76f-5d737d3a4267/wm-65-app-crashs-when-power-button-was-pressed-twice-to-turn-on-the-display?forum=windowsmobiledev