diff --git a/services/abilitymgr/src/resident_process/resident_process_manager.cpp b/services/abilitymgr/src/resident_process/resident_process_manager.cpp index a6f77c07a111d3646705f27dc8fe0b9aed57251c..33dee8fafae724129be3f0a74764092a5362df4f 100644 --- a/services/abilitymgr/src/resident_process/resident_process_manager.cpp +++ b/services/abilitymgr/src/resident_process/resident_process_manager.cpp @@ -84,8 +84,10 @@ void ResidentProcessManager::StartResidentProcessWithMainElement(std::vector &needEraseIndexSet, int32_t userId) { - if (userId != 0 && !AppUtils::GetInstance().InResidentWhiteList(bundleInfo.name)) { - TAG_LOGW(AAFwkTag::ABILITYMGR, "not in resident allow list"); + if (userId != 0 && !AppUtils::GetInstance().InResidentWhiteList(bundleInfo.name) && + !AppUtils::GetInstance().IsBigMemoryUnrelatedKeepAliveProc(bundleInfo.name)) { + TAG_LOGW(AAFwkTag::ABILITYMGR, "%{public}s not in resident allow list or \ + resident process of Big memory unrelated.", bundleInfo.name.c_str()); needEraseIndexSet.insert(index); return; }