From: luozheng <1732036298@qq.com> Date: Sat, 16 Nov 2024 08:21:36 +0000 (+0800) Subject: 解决倒计时界面内存泄漏问题 X-Git-Tag: fd230_release_V1.3.102~29^2~27 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=e3bd053b0190c0070a5ca3a85e35d0891f6342bc;p=mirrors%2FFD230.git 解决倒计时界面内存泄漏问题 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownPresenter.cpp index 26c6c0578..ddf2320ce 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownPresenter.cpp @@ -158,7 +158,8 @@ namespace OHOS { UITimePicker *timePicker = CountDownTimeConfigView::GetInstance()->GetTimePicker(); - if (nullptr != timePicker && ("00:00:00" != timePicker->GetSelectValue())) + std::string timeValue = timePicker->GetSelectValue(); + if (nullptr != timePicker && ("00:00:00" != timeValue)) { CountDownModel::GetInstance()->SetCountDownTime(timePicker->GetSelectValue()); // 设置倒计时时间 CountDownModel::GetInstance()->SetRingTime(timePicker->GetSelectValue()); // 设置响铃时间 @@ -201,6 +202,7 @@ namespace OHOS { CountDownModel::GetInstance()->SetCountDownTime("00:00:00"); CountDownModel::GetInstance()->SetRingTime("00:00:00"); + CountDownModel::GetInstance()->CountDown_StopTimer(); CountDownModel::GetInstance()->StopRingtonePlaybackAndReleaseResources(); p_StartCountDownView->GetPlayOrPauseToggleButton()->SetTouchable(true); p_StartCountDownView->GetPlayOrPauseToggleButton()->SetState(false); diff --git a/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownView.cpp b/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownView.cpp index 150f0ff9a..fcfecb757 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/countdown/src/MainCountDownView.cpp @@ -245,14 +245,17 @@ namespace OHOS bool MainCountDownView::ChangeMainCountDown(int16_t thisView) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCountDownView::ChangeMainCountDown"); - UIScrollView *view = MainCountDownViewInit(); - if (view == nullptr) + if (scrollView[thisView] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "view nullptr fail"); - return false; + UIScrollView *view = MainCountDownViewInit(); + if (view == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "view nullptr fail"); + return false; + } + scrollView[thisView] = view; + container_->Add(scrollView[thisView]); } - scrollView[thisView] = view; - container_->Add(scrollView[thisView]); return true; } @@ -426,6 +429,7 @@ namespace OHOS container_->SetTouchable(true); container_->SetDraggable(true); /* -------------------------------------------------------------------------- */ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d,%d",CountDownModel::GetInstance()->CountDownTimerIsEnd(),CountDownModel::GetInstance()->GetChanageToStartCountDownView()); if (CountDownModel::GetInstance()->CountDownTimerIsEnd() == false || CountDownModel::GetInstance()->GetChanageToStartCountDownView() == true) {