修改运动结果Slice析构 1042/1 1042/head
authorCaisking <3449750381@qq.com>
Fri, 27 Sep 2024 12:13:20 +0000 (20:13 +0800)
committerCaisking <3449750381@qq.com>
Fri, 27 Sep 2024 12:13:20 +0000 (20:13 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataView.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp

index 2ed8314..e15a82e 100644 (file)
@@ -72,7 +72,6 @@ private:
   TraingEnddataView(TraingEnddataView &&) = delete;
   TraingEnddataView &operator=(TraingEnddataView &&) = delete;
 
-  UIViewGroup *container_ = nullptr;
   UIScrollView *scrollView_ = nullptr;
 
   UILabelExt *labelutime = nullptr;    // u训练时间
index a8abf78..3a27bf0 100644 (file)
@@ -51,11 +51,11 @@ static TraingEnddataView *g_pTraingEnddataView{nullptr};
 TraingEnddataView::TraingEnddataView() { g_pTraingEnddataView = this; }
 
 TraingEnddataView::~TraingEnddataView() {
-  // DeInit();
-  scrollView_->RemoveAll();
+  DeInit();
+  // scrollView_->RemoveAll();
 
-  UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);
-  UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);
+  // UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);
+  // UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);
 
   g_pTraingEnddataView = nullptr;
 }
@@ -327,82 +327,173 @@ void TraingEnddataView ::InitView() {
 
 /* DeInit:删除组件 */
 void TraingEnddataView::DeInit() {
-  scrollView_->RemoveAll();
-
-  /*单位label*/
-  delete labelutime;
-  labelutime = nullptr;
-  delete labelutag;
-  labelutag = nullptr;
-  delete labelusteps;
-  labelusteps = nullptr;
-  delete labelumile;
-  labelumile = nullptr;
-  delete labeluheart;
-  labeluheart = nullptr;
-  delete labelustrong;
-  labelustrong = nullptr;
-  delete labeluavpace;
-  labeluavpace = nullptr;
-  delete labelufreq;
-  labelufreq = nullptr;
-  delete labelustride;
-  labelustride = nullptr;
-
-  /*值label*/
-  delete labeltype;
-  labeltype = nullptr;
-  delete labelsport;
-  labelsport = nullptr;
-  delete labelduration;
-  labelduration = nullptr;
-  delete labeltag;
-  labeltag = nullptr;
-  delete labeltime;
-  labeltime = nullptr;
-  delete labelmile;
-  labelmile = nullptr;
-  delete labelheart;
-  labelheart = nullptr;
-  delete labelstrong;
-  labelstrong = nullptr;
-  delete labelsteps;
-  labelsteps = nullptr;
-  delete labelavpace;
-  labelavpace = nullptr;
-  delete labelfreq;
-  labelfreq = nullptr;
-  delete labelstride;
-  labelstride = nullptr;
-
-  /*图片label*/
-  delete imageIcon;
-  imageIcon = nullptr;
-  delete imageLine2;
-  imageLine2 = nullptr;
-  delete imageLine3;
-  imageLine3 = nullptr;
-  delete imageLine4;
-  imageLine4 = nullptr;
-  delete imageLine5;
-  imageLine5 = nullptr;
-  delete imageLine6;
-  imageLine6 = nullptr;
-  delete imageLine8;
-  imageLine8 = nullptr;
-  delete imageLine9;
-  imageLine9 = nullptr;
-  delete imageLine10;
-  imageLine10 = nullptr;
-
-  /*退出相关*/
-  delete exitButton;
-  exitButton = nullptr;
-  delete exitLabel;
-  exitLabel = nullptr;
-
-  delete scrollView_;
-  scrollView_ = nullptr;
+  // 确保 scrollView_ 存在,并移除所有组件
+  if (scrollView_) {
+    scrollView_->RemoveAll();
+    delete scrollView_;
+    scrollView_ = nullptr;
+  }
+
+  // 删除所有 UILabelExt 类型指针
+  if (labelutime) {
+    delete labelutime;
+    labelutime = nullptr;
+  }
+  if (labelutag) {
+    delete labelutag;
+    labelutag = nullptr;
+  }
+  if (labelusteps) {
+    delete labelusteps;
+    labelusteps = nullptr;
+  }
+  if (labelumile) {
+    delete labelumile;
+    labelumile = nullptr;
+  }
+  if (labeluheart) {
+    delete labeluheart;
+    labeluheart = nullptr;
+  }
+  if (labelustrong) {
+    delete labelustrong;
+    labelustrong = nullptr;
+  }
+  if (labeluavpace) {
+    delete labeluavpace;
+    labeluavpace = nullptr;
+  }
+  if (labelufreq) {
+    delete labelufreq;
+    labelufreq = nullptr;
+  }
+  if (labelustride) {
+    delete labelustride;
+    labelustride = nullptr;
+  }
+  if (labelucalorie) {
+    delete labelucalorie;
+    labelucalorie = nullptr;
+  }
+
+  /* 删除值 label */
+  if (labeltype) {
+    delete labeltype;
+    labeltype = nullptr;
+  }
+  if (labelsport) {
+    delete labelsport;
+    labelsport = nullptr;
+  }
+  if (labelduration) {
+    delete labelduration;
+    labelduration = nullptr;
+  }
+  if (labeltag) {
+    delete labeltag;
+    labeltag = nullptr;
+  }
+  if (labeltime) {
+    delete labeltime;
+    labeltime = nullptr;
+  }
+  if (labelmile) {
+    delete labelmile;
+    labelmile = nullptr;
+  }
+  if (labelheart) {
+    delete labelheart;
+    labelheart = nullptr;
+  }
+  if (labelstrong) {
+    delete labelstrong;
+    labelstrong = nullptr;
+  }
+  if (labelsteps) {
+    delete labelsteps;
+    labelsteps = nullptr;
+  }
+  if (labelavpace) {
+    delete labelavpace;
+    labelavpace = nullptr;
+  }
+  if (labelfreq) {
+    delete labelfreq;
+    labelfreq = nullptr;
+  }
+  if (labelstride) {
+    delete labelstride;
+    labelstride = nullptr;
+  }
+  if (labelcalories) {
+    delete labelcalories;
+    labelcalories = nullptr;
+  }
+
+  /* 删除图片 label */
+  if (imageIcon) {
+    delete imageIcon;
+    imageIcon = nullptr;
+  }
+  if (imageLine2) {
+    delete imageLine2;
+    imageLine2 = nullptr;
+  }
+  if (imageLine3) {
+    delete imageLine3;
+    imageLine3 = nullptr;
+  }
+  if (imageLine4) {
+    delete imageLine4;
+    imageLine4 = nullptr;
+  }
+  if (imageLine5) {
+    delete imageLine5;
+    imageLine5 = nullptr;
+  }
+  if (imageLine6) {
+    delete imageLine6;
+    imageLine6 = nullptr;
+  }
+  if (imageLine7) {
+    delete imageLine7;
+    imageLine7 = nullptr;
+  }
+  if (imageLine8) {
+    delete imageLine8;
+    imageLine8 = nullptr;
+  }
+  if (imageLine9) {
+    delete imageLine9;
+    imageLine9 = nullptr;
+  }
+  if (imageLine10) {
+    delete imageLine10;
+    imageLine10 = nullptr;
+  }
+  if (imageLine11) {
+    delete imageLine11;
+    imageLine11 = nullptr;
+  }
+  if (imageLine12) {
+    delete imageLine12;
+    imageLine12 = nullptr;
+  }
+
+  /* 退出相关 */
+  if (exitButton) {
+    delete exitButton;
+    exitButton = nullptr;
+  }
+  if (exitLabel) {
+    delete exitLabel;
+    exitLabel = nullptr;
+  }
+
+  if (scrollView_) {
+    delete scrollView_;
+    scrollView_ = nullptr;
+  }
 }
 
 void TraingEnddataView::PreLoad(void) {
@@ -614,7 +705,6 @@ void TraingEnddataView::OnTearDownView() {
 
 void TraingEnddataView::OnStop() {
   View<TraingEnddataPresenter>::OnStop();
-  RootView::GetInstance()->ClearOnKeyActListener();
   if (container_ != nullptr) {
     container_->RemoveAll();
     delete container_;