HarmonyOS鸿蒙Next中stage模型有多线程吗
HarmonyOS鸿蒙Next中stage模型有多线程吗 我使用腾迅的人脸核身sdk,在sdk的回调中直接跳转页面失败,但是当在回调中执行一个异步方法在异步方法的回调中跳转则可以成功。所以我想确定是不是鸿蒙next也有多线程,腾迅的人脸核身sdk的回调不在ui线程,所以导致不能跳转?
以下是代码片段
WbCloudFaceVerifySdk.getInstance().startWbFaceVerifySdk(getContext(), {
onFinish: (result: WbFaceVerifyResult) => {
console.info(`WbCloudFaceVerifySdk onFinish 核身结果=`, JSON.stringify(result))
this.authParameter.faceResult = result
//处理完后释放sdk
//【特别注意】请在拿到sdk结果后对sdk进行释放,不要在页面结束时释放,避免未能获取刷脸回调结果的情况
WbCloudFaceVerifySdk.getInstance().release();
if (result.isSuccess) {
//通知服务器取结果
this.authParameter.save()
API.net.getFaceResult(this.getUIContext(), facePam.orderNo).then(_res => {
router.pushUrl({ url: 'pages/userCenter/auth/AuthOk' })
})
} else {
this.authParameter.save()
//跳转失败
router.pushUrl({ url: 'pages/userCenter/auth/FaceFail' })
console.log('人脸核身失败', JSON.stringify(result))
}
}
});
更多关于HarmonyOS鸿蒙Next中stage模型有多线程吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS鸿蒙Next中stage模型有多线程吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
腾讯云人脸核身 SDK 的回调通常不会在 UI 线程中执行。这是因为在执行人脸核身操作时,SDK 需要进行一些耗时的计算和网络请求,如果在 UI 线程中执行这些操作,会导致 UI 卡顿甚至崩溃。因此,SDK 通常会在后台线程中执行这些操作,并在完成后通过回调函数将结果返回给 UI 线程。在使用 SDK 时,可以通过异步回调的方式来处理这些结果,以避免阻塞 UI 线程。
Stage模型支持多线程,具体来说,每个ArkTS引擎实例都在一个单独线程(非主线程)上创建,而主线程用于处理主应用组件实例。这种设计允许应用组件之间共享对象和状态,同时减少内存占用。线程模型参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/thread-model-stage-V5

