diff --git a/README.md b/README.md index 79949159e58316ad9d20400389e4a913a62c14eb..5827d87d3ec7d135261d6300357e2a0c4a61c80a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ ``` ├──entry/src/main/ets/ │ ├──common -│ │ └──constants.ets // 常量 +│ │ └──Constants.ets // 常量 │ ├──components // 各模块组件 │ │ └──ControlAreaComponent.ets // 音频操控区组件 │ ├──entryability diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 2e1166dbacb2ac6b2ab90a227c5180f8fd88ee58..7b495a84f40ac705a8536c9b0a93d626e1370e51 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -107,11 +107,14 @@ struct Index { this.getUIContext().getHostContext()!.resourceManager.getMediaContent(this.songDataList[0].label.id) .then((value: Uint8Array) => { let buffer = value.buffer as ArrayBuffer; - image.createImageSource(buffer).createPixelMap().then((pixelMap) => { + let imageSource: image.ImageSource = image.createImageSource(buffer); + let currentPixelMap: image.PixelMap | undefined = undefined; + imageSource.createPixelMap().then((pixelMap) => { effectKit.createColorPicker(pixelMap, (error, colorPicker) => { if (error) { Logger.error(`Failed to create color picker. Error: ${error.code}, message: ${error.message}`); } else { + currentPixelMap = pixelMap; let color: effectKit.Color = colorPicker.getLargestProportionColor(); let colorArr: number[] = ColorTools.dealColor(color.red, color.green, color.blue); this.imageColor = `rgba(${colorArr[0]}, ${colorArr[1]}, ${colorArr[2]}, 1)`; @@ -125,6 +128,10 @@ struct Index { }) } }) + .finally(() => { + imageSource?.release(); + currentPixelMap?.release(); + }) .catch((error: BusinessError) => { Logger.error(`createPixelMap error: ${error.code}, message: ${error.message}`); })