【问题标题】:Motorola MC65 - Windows Mobile 6.5 kills my app after resuming摩托罗拉 MC65 - Windows Mobile 6.5 在恢复后杀死我的应用程序
【发布时间】:2023-03-14 08:53:01
【问题描述】:

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

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

【问题讨论】:

  • 你的应用对 sd 卡做 IO 吗?
  • 嗯,是的。应用程序本身安装在 SD 卡上,并将日志文件写入其中。
  • 设备进入睡眠模式时,可能会卸载 sd 卡。如果您从闪存文件系统运行应用程序并在那里进行日志记录(或使您的日志记录对消失的文件系统具有鲁棒性),您可以尝试是否继续运行它

标签: windows-mobile windows-mobile-6.5 windows-mobile-6


【解决方案1】:

虽然如果资源不足并且应用程序对 WM_HIBERNATE 消息没有反应,Windows Mobile 可能会终止应用程序,但这不会是您当前设置的原因。

如果应用程序被最小化/隐藏,它将从屏幕上消失。如果另一个应用程序进入前台并稍后关闭,也可能发生这种情况。然后更改窗口堆栈,您的应用不再处于前台。

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

因此,您的应用正在使用已暂停的网络连接,并且您的应用对网络变化的抵抗力不强,或者如注释中所述,设备在暂停/恢复期间确实卸载了存储卡驱动程序。对于后者,请将您的应用程序移至设备存储或联系供应商以获取另一个电源管理配置文件,在暂停/恢复期间维护外部存储。

【讨论】:

    【解决方案2】:

    这会导致您的应用程序及其支持的文件可能在存储卡上。将您的应用程序和所有文件移动到另一个存储,例如:应用程序文件夹。点击链接了解更多详情: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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2015-11-02
      • 2014-01-07
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多