Skip to content

fix(association): 修复联想引擎服务绑定泄漏和服务崩溃恢复问题 - #751

Merged
kingzcheung merged 1 commit into
ximeiorg:mainfrom
kingzcheung:main
Aug 27, 2026
Merged

fix(association): 修复联想引擎服务绑定泄漏和服务崩溃恢复问题#751
kingzcheung merged 1 commit into
ximeiorg:mainfrom
kingzcheung:main

Conversation

@kingzcheung

@kingzcheung kingzcheung commented Aug 27, 2026

Copy link
Copy Markdown
Contributor
  • 在 OnnxAssociationEngine 初始化时先释放旧 client 绑定,避免 ServiceConnection 泄漏
  • 当服务进程崩溃后检测 binder 失效状态,重置引擎状态实现自动恢复
  • 修复 InferenceClient 中 CountDownLatch 一次性问题,确保服务重启 后能正确重新绑定
  • 添加 DeadObjectException 处理,服务死亡时重置绑定状态
  • 在 InferenceService 中添加模型加载检查,避免未初始化时崩溃
  • 优化 NativeOnnxEngine 切换模型时先释放旧 session 避免内存峰值
  • 修复 CandidateBar 联想词显示逻辑,确保纯联想状态下正常渲染
  • 默认禁用 NNAPI 执行提供者避免动态形状模型触发崩溃

概述

简要描述此 PR 的目的和改动内容。

关联 Issue

Closes #(填写关联 issue 号)

改动类型

  • 新功能
  • 功能优化
  • Bug 修复
  • 重构
  • CI / 构建
  • 文档

自测清单

  • 代码编译通过
  • 已运行 ./gradlew test 并通过
  • 已在真机/模拟器上验证

备注

补充说明(如有)。

- 在 OnnxAssociationEngine 初始化时先释放旧 client 绑定,避免
  ServiceConnection 泄漏
- 当服务进程崩溃后检测 binder 失效状态,重置引擎状态实现自动恢复
- 修复 InferenceClient 中 CountDownLatch 一次性问题,确保服务重启
  后能正确重新绑定
- 添加 DeadObjectException 处理,服务死亡时重置绑定状态
- 在 InferenceService 中添加模型加载检查,避免未初始化时崩溃
- 优化 NativeOnnxEngine 切换模型时先释放旧 session 避免内存峰值
- 修复 CandidateBar 联想词显示逻辑,确保纯联想状态下正常渲染
- 默认禁用 NNAPI 执行提供者避免动态形状模型触发崩溃
@kingzcheung
kingzcheung merged commit 9f6f2dd into ximeiorg:main Aug 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant