From: penglei <1624952103@qq.com> Date: Sat, 31 Aug 2024 08:13:44 +0000 (+0800) Subject: 优化离线语音助手内存泄漏 X-Git-Tag: release_V1.2.70_20241020_135402~518^2~18^2~20 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=refs%2Fchanges%2F847%2F1;p=mirrors%2FFD230.git 优化离线语音助手内存泄漏 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp index ab6637dd5..3991d2184 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp @@ -13,6 +13,7 @@ #include "VocassistModel.h" #include "VocassistView.h" #include "VocassistPresenter.h" +#include "uicomponents/UIComponents.h" static constexpr uint16_t SWITCH_MAP_NUM = 16; static constexpr uint16_t ANI_X = 84; @@ -147,6 +148,14 @@ VoiceAssistance::~VoiceAssistance() callwordContext = nullptr; delete workFrame; workFrame = nullptr; + + (void)memset_s(storPicPathBuf, sizeof(storPicPathBuf), 0, sizeof(storPicPathBuf)); + for (int i = 0; i < ANI_TOTAL_NUM; i++) { + sprintf_s(storPicPathBuf[i], sizeof(storPicPathBuf[i]), + RES_PATH"/VOICE_ASSISTANT_%02d.bin", i + 1); + ImageCacheManager::GetInstance().UnloadSingleRes((const char *)storPicPathBuf[i]); + + } } VoiceAssistance *VoiceAssistance::GetInstance() @@ -165,12 +174,12 @@ void VoiceAssistance::InitImageAnimatorSource(void) WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Splice failed!!"); return; } - imageAnimatorInfo[i].imagePath = (const char *)storPicPathBuf[i]; + imageAnimatorInfo[i].imageInfo = ImageCacheManager::GetInstance().LoadSingleRes((const char *)storPicPathBuf[i]); imageAnimatorInfo[i].pos.x = ANI_X; imageAnimatorInfo[i].pos.y = ANI_Y; imageAnimatorInfo[i].width = ANI_SL; imageAnimatorInfo[i].height = ANI_SL; - imageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH; + imageAnimatorInfo[i].imageType = IMG_SRC_IMAGE_INFO; } WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[VoiceAssistView] VoiceAssistanceInitImageAnimatorSource success!!"); }