HarmonyOS 鸿蒙Next 官方Flutter的exit(0)方法行为不正确 APP调用该方法退出时 Flutter内部却将其记录为cppcrash日志

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 官方Flutter的exit(0)方法行为不正确
APP调用该方法退出时 Flutter内部却将其记录为cppcrash日志

鸿蒙官方flutter的exit(0)方法行为不正确,APP调用这个方法退出flutter APP,而flutter内部却把这个退出APP的行为记录为cppcrash异常情况(android和iOS则没这个问题,请改造)

2 回复
flutter的exit()存在数据不安全风险,不支持使用,请使用原生方法退出

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-ability-3-V5

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-ability-5-V5

调用killAllProcesses()方法后,会将应用中所有的进程逐个Kill掉。所以时间会久一点

可使用terminateSelf方法关闭应用

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5#uiabilitycontextterminateself

更多关于HarmonyOS 鸿蒙Next 官方Flutter的exit(0)方法行为不正确 APP调用该方法退出时 Flutter内部却将其记录为cppcrash日志的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS鸿蒙Next官方Flutter环境中,exit(0)方法的行为确实可能与预期不同,导致应用退出时被错误地记录为cppcrash日志。这一现象通常源于Flutter引擎与鸿蒙系统之间的集成差异,尤其是错误处理和日志记录机制。

exit(0)在标准C/C++程序中通常表示正常退出,但在Flutter框架中,尤其是与鸿蒙系统的深度集成环境中,它可能不会被正确识别为正常退出信号。鸿蒙系统的Flutter引擎可能将此行为视为未处理的异常或崩溃,从而触发cppcrash日志记录。

解决此问题的一种方法是避免在Flutter应用中使用exit(0)进行退出。Flutter提供了更优雅的方式来处理应用生命周期和退出,如使用SystemNavigator.pop()来请求退出应用(注意:此方法在某些平台上可能不被支持或行为不同)。

此外,开发者可以检查Flutter引擎的源代码或鸿蒙系统的相关文档,了解是否有特定的API或方法来正确处理应用退出,避免触发cppcrash日志。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!