From af0d93057e94ad9bbace853502024a2750ce22dc Mon Sep 17 00:00:00 2001 From: zhounanzhao Date: Tue, 5 Dec 2023 01:36:26 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1=E7=A8=B3?= =?UTF-8?q?=E5=AE=9A=E6=80=A7=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhounanzhao --- .../src/bg_efficiency_resources_mgr.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/efficiency_resources/src/bg_efficiency_resources_mgr.cpp b/services/efficiency_resources/src/bg_efficiency_resources_mgr.cpp index 40a0aed2..bdfbd7eb 100644 --- a/services/efficiency_resources/src/bg_efficiency_resources_mgr.cpp +++ b/services/efficiency_resources/src/bg_efficiency_resources_mgr.cpp @@ -93,7 +93,14 @@ void BgEfficiencyResourcesMgr::OnAddSystemAbility(int32_t systemAbilityId, const } if (dependsReady_ == ALL_DEPENDS_READY) { BGTASK_LOGI("necessary system service has been satisfied!"); - auto task = [this]() { this->InitNecessaryState(); }; + auto task = [weak = weak_from_this()]() { + auto self = weak.lock(); + if (!self) { + BGTASK_LOGE("weak.lock return null"); + return; + } + self->InitNecessaryState(); + }; handler_->PostSyncTask(task); } } -- Gitee