【三方库】imageknifepro v1.0.15 鸿蒙平台稳定性与质量提升
📢 【三方库】imageknifepro v1.0.15 鸿蒙平台稳定性与质量提升
imageknifepro v1.0.15 已发布。本次升级聚焦该库稳定性与质量提升,修复多项崩溃与显示问题并优化性能,兼容升级,开发者无需修改现有代码即可享受本次改进。推荐所有该库用户升级至本版本。
版本概览
| 类型 | 内容 |
|---|---|
| 稳定性 | 修复 onDownloadSuccess 回调低概率崩溃 #196、修复全局加载结束回调悬垂指针访问 #193、修复注册全局加载结束回调后 mask 变换崩溃 #211 |
| 质量提升 | 修复高斯模糊边缘背景透出 #206、修复超长图不显示 #197、性能优化(解码功耗 / 主线程耗时 / 缓存排队)、避免重复符号冲突 #191、导出 ArkTS 数据类型 #190 |
稳定性提升
修复 onDownloadSuccess 回调低概率崩溃 [#196]
问题:图片下载成功后 onDownloadSuccess 回调在低概率场景下触发崩溃,回调内部访问的资源可能已失效。
修复:重构 onload_callback_napi.cpp 中的回调处理逻辑,增强回调触发时的资源有效性校验。
修复全局加载结束回调悬垂指针访问 [#193]
问题:在解码合并阶段,预取(prefetch)阶段的请求未与其他请求合并,导致全局加载结束回调访问已释放的请求对象,产生悬垂指针(dangling pointer)访问。
修复:在 imageknife_task_internal.cpp 中新增预取请求合并逻辑(3 行关键改动),确保预取请求在解码合并阶段被正确合并,避免回调访问已释放对象。
修复注册全局加载结束回调后 mask 变换崩溃 [#211]
问题:注册全局加载结束回调后,mask 变换在非主线程触发回调,而回调中的 JS 函数调用必须在主线程执行,非主线程调用导致崩溃。
修复:load_end_callback.cpp 中新增主线程检查——若当前不在主线程,通过 TaskWorker::GetInstance()->ToMainThread() 将回调投递到主线程执行,确保 JS 回调始终在主线程调用。
质量提升
修复高斯模糊边缘背景透出 [#206]
修复高斯模糊图片边缘固定透明像素填充导致的背景内容透出问题,确保模糊边缘不泄露背景内容。
修复超长图不显示 [#197]
修复开启解码优化后超长图片无法显示的问题,确保解码优化路径正确处理超长图片。
性能优化 [#198] [#210] [#204] [#192]
避免重复符号冲突 [#191]
避免引入相同函数签名的系统 API 时的潜在重复符号冲突,提升构建兼容性。
导出 ArkTS 数据类型 [#190]
导出此前未显式导出的 ArkTS 数据类型,便于开发者直接引用库内类型定义。
兼容性说明
- 无 Breaking Changes,API 接口保持不变。
- 本次变更以缺陷修复、性能优化与接口导出补充为主,均为非破坏性变更,现有代码无需修改。
- 从 v1.0.14 起升级至 v1.0.15 均为兼容性升级。
升级方式
- 鸿蒙原生:
oh-package.json5→"@ohos/imageknifepro": "^1.0.15",执行ohpm install。
相关链接
- 文档:https://gitcode.com/CPF-ApplicationTPC/imageknifepro/blob/master/README.md
- CHANGELOG:https://gitcode.com/CPF-ApplicationTPC/imageknifepro/blob/master/CHANGELOG.md
- 反馈:https://gitcode.com/CPF-ApplicationTPC/imageknifepro/issues
更多推荐



所有评论(0)