HarmonyOS基本工具封装——BaseImage解决鸿蒙加载图片过大时闪退问题

前言

简介

鸿蒙基本库封装,提升鸿蒙开发效率

安装

ohpm install @peakmain/library

介绍

  • 解决华为图片过大闪退问题
  • 用于显示图片或占位图的基础组件,支持图片加载、尺寸控制、圆角处理等功能。

导入依赖

javascript 复制代码
import { BaseImage} from '@peakmain/library'

组件属性

属性名 类型 默认值 说明
url ResourceStr "" 图片资源路径(必填)
imageSize `SizeOptions null` null
fillColor `ResourceColor ResourceStr` undefined
imageFit `ImageFit null` null
imageRadius `Length BorderRadiuses LocalizedBorderRadiuses
placeBackgroundColor ResourceColor ColorMetrics.numeric(0xFFE9E9E9).color 占位图背景颜色(当 url 为空时显示)

组件方法

方法名 参数 返回值 说明
build void 组件构建方法: - 若 url 为空,显示带占位背景和圆角的 Stack - 若 url 有效,显示图片并应用配置

解决原理

  • 核心代码:autoResize
  • 官方文档地址:developer.huawei.com/consumer/cn...
  • 设置图片解码过程中是否对图源自动缩放。降采样解码时图片的部分信息丢失,因此可能会导致图片质量的下降(如:出现锯齿),这时可以选择把autoResize设为false,按原图尺寸解码,提升显示效果,但会增加内存占用。
  • 虽官方说图片部分信息丢失,但我们这边测下,基本没啥区别(肉眼上)
相关推荐
ONEDAY10 小时前
HarmonyOS 深色模式适配实践:从资源、WebView 到网络图统一处理
harmonyos
鸿蒙开发1 天前
鸿蒙(HarmonyOS NEXT)表单校验别再手撸正则了 —— 我写了个 ArkTS 版 zod
harmonyos
TrisighT1 天前
ArkTS 的 @BuilderParam 你八成只用了皮毛——那个尾随闭包写法差点被我当 bug 删了
harmonyos·arkts·arkui
ONEDAY2 天前
HarmonyOS 多 Product 构建实践:一套代码生成多个产物
harmonyos
TT_Close2 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
TrisighT2 天前
ArkTS 列表滚动时为什么会闪现旧数据?我扒了 LazyForEach 的复用逻辑
harmonyos·arkts·arkui
MonkeyKing2 天前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
TrisighT2 天前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
TrisighT3 天前
一个下午搞定 ArkTS 折叠面板?结果我从两点写到晚上九点
harmonyos·arkts·arkui
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播