主界面切换释放Imagecach
authorluozheng <1732036298@qq.com>
Fri, 28 Jun 2024 07:49:47 +0000 (15:49 +0800)
committerluozheng <1732036298@qq.com>
Fri, 28 Jun 2024 07:49:47 +0000 (15:49 +0800)
12 files changed:
code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassView.cpp
code/sdk/application/wearable/fd230app/nativeui/heart_blood/BloodCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/heart_blood/BloodCardView.h
code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartRateView.h
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp
code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/PullUpDownView.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp

index 96cb297..dd8329f 100644 (file)
@@ -104,8 +104,10 @@ void CompassView::SetResLoadStatus(bool state)
 {
     resLoadStatus = state;
 }
+/*预加载指南针图片资源*/
 void CompassView::PreLoadCompassImageRes(void)
 {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassView::PreLoadCompassImageRes");
     if(!GetResLoadStatus()){
         if (LoadCompassImage(backGround, COMPASS_COMPASS0) == false) {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], triangulation load fail", __LINE__);
@@ -122,8 +124,10 @@ void CompassView::PreLoadCompassImageRes(void)
         SetResLoadStatus(true);
     }
 }
+/*卸载指南针图片资源*/
 void CompassView::UnLoadCompassImageRes(void)
 {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CompassView::UnLoadCompassImageRes");
     if(GetResLoadStatus())
     {
         ImageInfo* image = nullptr;
index 42fe44b..371aa60 100644 (file)
@@ -18,14 +18,14 @@ namespace OHOS
 \r
     BloodCardView::BloodCardView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::BloodCardView");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodCardView::BloodCardView");\r
         SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
         g_pBloodCardView = this;\r
     }\r
 \r
     BloodCardView::~BloodCardView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::~BloodCardView");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodCardView::~BloodCardView");\r
         DeInit();\r
         g_pBloodCardView = nullptr;\r
     }\r
@@ -204,6 +204,7 @@ namespace OHOS
      */\r
     void BloodCardView::DeInit()\r
     {\r
+        UnLoadBloodImageRes();\r
         RemoveAll();\r
         if (background != nullptr)\r
         {\r
@@ -237,14 +238,10 @@ namespace OHOS
         }\r
     }\r
     /* -------------------------------------------------------------------------- */\r
-    void BloodCardView::PreLoad(void)\r
+    /*预加载血氧图片资源*/\r
+    void BloodCardView::PreLoadBloodImageRes(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::PreLoad");\r
-        if (!viewiInitStatus)\r
-        {\r
-            InitView();\r
-            viewiInitStatus = true;\r
-        }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::PreLoadBloodImageRes");\r
         if (!resLoadStatus)\r
         {\r
             ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(BLOODOXYGEN_BACKGOUND, BLOOD_IAMGES);\r
@@ -257,10 +254,11 @@ namespace OHOS
             resLoadStatus = true;\r
         }\r
     }\r
-\r
-    void BloodCardView::UnLoad(void)\r
+    \r
+    /*卸载血氧图片资源*/\r
+    void BloodCardView::UnLoadBloodImageRes(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::UnLoad");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::UnLoadBloodImageRes");\r
         if (resLoadStatus)\r
         {\r
             ImageInfo *img = nullptr;\r
@@ -269,5 +267,22 @@ namespace OHOS
             resLoadStatus = false;\r
         }\r
     }\r
+\r
+    void BloodCardView::PreLoad(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::PreLoad");\r
+        if (!viewiInitStatus)\r
+        {\r
+            InitView();\r
+            viewiInitStatus = true;\r
+        }\r
+        PreLoadBloodImageRes();\r
+    }\r
+\r
+    void BloodCardView::UnLoad(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodCardView::UnLoad");\r
+        UnLoadBloodImageRes();\r
+    }\r
     /* -------------------------------------------------------------------------- */\r
 }\r
index 6751d55..66bb6a6 100644 (file)
@@ -46,6 +46,9 @@ namespace OHOS
 \r
         void UpSPO2Text();\r
 \r
+    private:\r
+        void PreLoadBloodImageRes(void);\r
+        void UnLoadBloodImageRes(void);\r
     private:\r
         UIView::OnDragListener *draglistener{nullptr};\r
         BloodCardView(BloodCardView &&) = delete;\r
index 11d02cc..de7245c 100644 (file)
@@ -77,6 +77,8 @@ private:
     Point heartRateData[HEART_AVE_NUM];\r
     Point rateDataTmp[HEART_AVE_NUM];\r
 \r
+    void PreLoadHeartRateImageRes(void);\r
+    void UnLoadHeartRateImageRes(void);\r
     bool viewiInitStatus{false};\r
     bool resLoadStatus{false};\r
     UIChartPolyline *chart{nullptr};\r
index c9f4fb8..e4e0100 100644 (file)
@@ -147,6 +147,7 @@ namespace OHOS
         {\r
             int32_t i;\r
             RemoveAll();\r
+            UnLoadHeartRateImageRes();\r
             delete imageViewCoordinate;\r
             imageViewCoordinate = nullptr;\r
 \r
@@ -590,7 +591,7 @@ namespace OHOS
 \r
     bool HeartRateView::InitView(void)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartRateView::HeartRateView::InitView");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartRateView::InitView");\r
         HeartRateDataProc();\r
         HeartRateLabelDisplay();\r
         HeartbeatImageAnimator();\r
@@ -603,16 +604,10 @@ namespace OHOS
         return true;\r
     }\r
 \r
-    void HeartRateView::PreLoad(void)\r
+    /*预加载心率图片资源*/\r
+    void HeartRateView::PreLoadHeartRateImageRes(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::PreLoad");\r
-        if (!viewiInitStatus)\r
-        {\r
-            if (InitView())\r
-            {\r
-                viewiInitStatus = true;\r
-            }\r
-        }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::PreLoadHeartRateImageRes");\r
         if (!resLoadStatus)\r
         {\r
             ScreenModels::GetInstance()->LoadAppImages(HEART_IAMGES, imageViewTop, HEART_HEARTRATE_TOP);\r
@@ -621,10 +616,11 @@ namespace OHOS
             resLoadStatus = true;\r
         }\r
     }\r
-\r
-    void HeartRateView::UnLoad(void)\r
+    \r
+    /*卸载心率图片资源*/\r
+    void HeartRateView::UnLoadHeartRateImageRes(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::UnLoad");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::UnLoadHeartRateImageRes");\r
         if (resLoadStatus)\r
         {\r
             ImageInfo *img = nullptr;\r
@@ -639,6 +635,25 @@ namespace OHOS
         }\r
     }\r
 \r
+    void HeartRateView::PreLoad(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::PreLoad");\r
+        if (!viewiInitStatus)\r
+        {\r
+            if (InitView())\r
+            {\r
+                viewiInitStatus = true;\r
+            }\r
+        }\r
+        PreLoadHeartRateImageRes();\r
+    }\r
+\r
+    void HeartRateView::UnLoad(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateView::UnLoad");\r
+        UnLoadHeartRateImageRes();\r
+    }\r
+\r
     void HeartRateView::InitRefreshInterface(void)\r
     {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartRateView::HeartRateView::InitRefreshInterface");\r
index 2d4f894..905d4e8 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-17 15:26:49
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-26 19:51:48
+ * @LastEditTime: 2024-06-28 14:30:04
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/PullUpDownView.h
  */
 /*
@@ -93,6 +93,9 @@ namespace OHOS
         void UpdateCat1NoSignalisplay(bool state);
         void UpdateCat14GDisplay(bool state);
 
+        void PreLoadPullUpDownImageRes(void);
+        void UnLoadPullUpDownImageRes(void);
+
     private:
         ConnectedStatusView *connectedStatusView{nullptr};
 
index d662e70..9fb68c0 100644 (file)
@@ -437,6 +437,7 @@ namespace OHOS
         }
         return bloodView;
     }
+    
     // 主界面训练卡片
     UICardPage *MainViewSample::InitTrainingPage(void)
     {
@@ -463,6 +464,7 @@ namespace OHOS
         return weatherControlView;
     }
 
+    //主界面每日目标卡片
     UICardPage *MainViewSample::InitGoalPage(void)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitWeatherPage");
@@ -474,6 +476,7 @@ namespace OHOS
         }
         return GoalControlView;
     }
+
     // 主界面心率卡片
     UICardPage *MainViewSample::InitHeartRatePage(void)
     {
@@ -486,7 +489,8 @@ namespace OHOS
         }
         return heartRateView;
     }
-    // 运动界面
+    
+    // 主界面运动卡片
     UICardPage *MainViewSample::InitActivityPage(void)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitActivityPage");
@@ -498,6 +502,7 @@ namespace OHOS
         }
         return activityWeekView;
     }
+
     /*主界面设置卡片*/
     UICardPage *MainViewSample::InitSetMainPage(void)
     {
@@ -510,6 +515,7 @@ namespace OHOS
         }
         return setmainView;
     }
+
     /*主界面睡眠卡片*/
     UICardPage *MainViewSample::InitSleepPage(void)
     {
@@ -522,6 +528,7 @@ namespace OHOS
         }
         return sleepView;
     }
+
     void MainViewSample::SetPage(int16_t page)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::SetPage");
index e55e70a..b9bb68b 100644 (file)
@@ -173,6 +173,7 @@ namespace OHOS
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PullUpDownView::ClearAll");
         RemoveAll();
+        UnLoadPullUpDownImageRes(); //切换slice的时候也要卸载资源放在ImageCach空间不够
         if (group[DROPDOWNVIEW] != nullptr)
         {
             group[DROPDOWNVIEW]->RemoveAll();
@@ -919,15 +920,10 @@ namespace OHOS
         return true;
     }
 
-    void PullUpDownView::PreLoad(void)
+    /*预加载下拉视图的图片资源*/
+    void PullUpDownView::PreLoadPullUpDownImageRes(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoad");
-        if (!viewiInitStatus)
-        {
-            PullUpDownViewInit();
-            viewiInitStatus = true;
-        }
-
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoadPullUpDownImageRes");
         if (!resLoadStatus)
         {
             /* -------------------------------------------------------------------------- */
@@ -964,9 +960,10 @@ namespace OHOS
         }
     }
 
-    void PullUpDownView::UnLoad(void)
+    /*卸载下拉视图的图片资源*/
+    void PullUpDownView::UnLoadPullUpDownImageRes(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoad");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoadPullUpDownImageRes");
         if (resLoadStatus)
         {
             ImageInfo *img = nullptr;
@@ -1011,6 +1008,24 @@ namespace OHOS
         }
     }
 
+    void PullUpDownView::PreLoad(void)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::PreLoad");
+        if (!viewiInitStatus)
+        {
+            PullUpDownViewInit();
+            viewiInitStatus = true;
+        }
+
+        PreLoadPullUpDownImageRes();
+    }
+
+    void PullUpDownView::UnLoad(void)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PullUpDownView::UnLoad");
+        UnLoadPullUpDownImageRes();
+    }
+
     // 更新手机连接状态
     void PullUpDownView::UpdatePhoneStatus(int status)
     {
index 5490290..4fe343c 100644 (file)
@@ -63,7 +63,7 @@ namespace OHOS
     // 初始化页面
     bool MessageCardView::InitPage(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitPage is begin");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitPage is begin");
         /*初始化label*/
         InitLabelExt(title, 83, 50, 300, 35, "labletitle", STR_MESSAGE_NOTIFICATION, DEFAULT_VECTOR_FONT_FILENAME, 30);
         Add(title);
@@ -103,7 +103,7 @@ namespace OHOS
 
         /*删除按键*/
         int top = MessageList->GetWidth() + 130;
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "top %d", top);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "top %d", top);
         InitButtonExt(DeleteButton, 43, top, 380, 100, DELETEALLDATA, STR_CLEANALL, 30);
         DeleteButton->SetOnClickListener((UIView::OnClickListener *)OHOS::MessageControlPresenter::GetInstance());
         Add(DeleteButton);
@@ -111,7 +111,7 @@ namespace OHOS
         SetDraggable(false);
         SetTouchable(false);
         initViewStatus = true;
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitPage is end");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitPage is end");
         return true;
     }
 
index 068539c..4dd68ba 100644 (file)
@@ -14,14 +14,14 @@ namespace OHOS
     static MessageControlView *g_pMessageControlView{nullptr};
     MessageControlView::MessageControlView()
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageControlView::MessageControlView()");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageControlView::MessageControlView()");
         SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
         g_pMessageControlView = this;
     }
 
     MessageControlView::~MessageControlView()
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageControlView::~MessageControlView()");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageControlView::~MessageControlView()");
         if (viewiInitStatus)
         {
             ClearAll();
@@ -51,7 +51,7 @@ namespace OHOS
 
     bool MessageControlView::InitView(void)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageControlView InitView");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MessageControlView InitView");
         messageLackView = new MessageLackView();
         if (messageLackView == nullptr)
         {
index 5611e5b..66cdbf9 100644 (file)
@@ -87,8 +87,8 @@ public:
         return p_PlayerListDelSongView;\r
     }\r
 private:\r
-    void playerResPreLoad(void);\r
-    void playerResUnLoad(void);\r
+    void PreLoadPlayerImageRes(void);\r
+    void UnLoadPlayerImageRes(void);\r
 private:\r
     bool InitBackGround(void);\r
     void TearDownView();\r
index 0fee696..fa1d101 100644 (file)
@@ -36,6 +36,7 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::~PlayersView");\r
         if (viewiInitStatus == true)\r
         {\r
+            UnLoadPlayerImageRes();\r
             state = GetPlayerButtonState();\r
             if (state == UICheckBox::UICheckBoxState::SELECTED)\r
             {\r
@@ -931,13 +932,13 @@ namespace OHOS
                 viewiInitStatus = true;\r
             }\r
         }\r
-        playerResPreLoad();\r
+        PreLoadPlayerImageRes();\r
     }\r
 \r
     void PlayersView::UnLoad(void)\r
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::UnLoad");\r
-        playerResUnLoad();\r
+        UnLoadPlayerImageRes();\r
     }\r
     // 加载音乐图片\r
     bool PlayersView::LoadPlayerImage(UIImageView *view, uint32_t resId)\r
@@ -966,9 +967,10 @@ namespace OHOS
         return true;\r
     }\r
 \r
-\r
-    void PlayersView::playerResPreLoad(void)\r
+    /*预加载音乐播放器资源*/\r
+    void PlayersView::PreLoadPlayerImageRes(void)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::playerResPreLoad");\r
         if(!resLoadStatus)\r
         {\r
             if (LoadPlayerImage(soundButton, PLAYER_MUSIC_VOICE) == false)\r
@@ -1028,8 +1030,10 @@ namespace OHOS
         }\r
     }\r
     \r
-    void PlayersView::playerResUnLoad(void)\r
+    /*卸载音乐播放器资源*/\r
+    void PlayersView::UnLoadPlayerImageRes(void)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::playerResUnLoad");\r
         if(resLoadStatus)\r
         {\r
             ImageInfo *image = nullptr;\r