uni-app 安卓 鸿蒙打开一键登录后 后台出现多个进程
uni-app 安卓 鸿蒙打开一键登录后 后台出现多个进程
操作步骤:
- 打开 App
- 唤起一键登录界面
预期结果:
登录成功或用户关闭后,后台进程保持为1个
实际结果:
Android 后台进程出现多个App,且无法进入
bug描述:
华为鸿蒙、小米、VIVO、OPPO 打开一键登录页面后,后台会出现多个进程,登录完成还是存在。 iOS没有这个问题。
附图
信息类别 | 信息内容 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | Windows11 |
开发工具 | HBuilderX |
工具版本 | 4.11 |
移动端系统 | Android |
移动端版本 | Android 14 |
手机厂商 | 华为 |
手机型号 | Mate 60 Pro |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
App下载链接 | https://app.caacosmos.com/ |
更多关于uni-app 安卓 鸿蒙打开一键登录后 后台出现多个进程的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
这个问题没人处理吗?个推官方说不是他们的问题,需要联系 dcloud 官方
更多关于uni-app 安卓 鸿蒙打开一键登录后 后台出现多个进程的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
解决了,参考 https://ask.dcloud.net.cn/question/191997 这个帖子
在使用 UniApp 开发的应用中,如果你在安卓或鸿蒙系统上使用“一键登录”功能后,发现后台出现了多个进程,这可能是由于以下原因导致的:
1. UniApp 的多进程机制
- UniApp 本身是基于多进程架构的,尤其是在使用一些原生插件或功能时,可能会启动额外的进程来执行任务。
- 一键登录功能可能依赖于某些原生模块或 SDK,这些模块可能会在后台启动额外的进程来处理登录请求。
2. SDK 的多进程行为
- 某些第三方 SDK(如一键登录的 SDK)可能会在后台启动多个进程来执行网络请求、数据处理或其他任务。
- 这些进程可能是 SDK 设计的一部分,用于提高性能或处理并发请求。
3. 生命周期管理问题
- 如果你在应用的生命周期管理中没有正确处理一键登录的回调或资源释放,可能会导致进程无法正确关闭,从而在后台残留多个进程。
4. 调试模式的影响
- 在调试模式下,UniApp 可能会启动额外的进程来支持热重载、日志记录等功能,这可能会导致你看到多个进程。
解决方法:
-
检查 SDK 文档:
- 查看你使用的一键登录 SDK 的文档,了解其是否支持多进程,以及是否有配置项可以控制进程的启动和关闭。
-
优化生命周期管理:
- 确保在应用的生命周期回调(如
onHide
、onUnload
)中正确释放一键登录相关的资源,避免进程残留。
- 确保在应用的生命周期回调(如
-
配置 UniApp 的多进程行为:
- 在
manifest.json
中,你可以配置 UniApp 的多进程行为,尽量减少不必要的进程启动。
- 在
-
使用调试工具:
- 使用 Android Studio 的
adb
工具或鸿蒙的调试工具,查看后台进程的具体信息,确定哪些进程是必要的,哪些是多余的。
- 使用 Android Studio 的
-
联系 SDK 提供方:
- 如果问题依然存在,建议联系一键登录 SDK 的提供方,确认是否存在已知的多进程问题,并获取解决方案。
示例代码(生命周期管理):
export default {
onHide() {
// 在应用隐藏时释放一键登录资源
this.releaseLoginResources();
},
onUnload() {
// 在页面卸载时释放一键登录资源
this.releaseLoginResources();
},
methods: {
releaseLoginResources() {
// 释放一键登录相关的资源
// 例如:关闭 SDK 的连接、释放内存等
}
}
}