天气动画改为Imageinfo保存和释放
authorluozheng <1732036298@qq.com>
Sat, 31 Aug 2024 08:15:41 +0000 (16:15 +0800)
committerluozheng <1732036298@qq.com>
Sat, 31 Aug 2024 08:15:41 +0000 (16:15 +0800)
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportView.h
code/sdk/application/wearable/fd230app/nativeui/weather/src/WeatherReportView.cpp

index a884386..f4b922c 100644 (file)
@@ -75,9 +75,9 @@ namespace OHOS
         UIImageAnimatorView *WindSpeedImageAnimatorView{nullptr}; // 风速动画\r
         UIImageAnimatorView *HumidityImageAnimatorView{nullptr};  // 湿度动画\r
 \r
-        const char **UVPathsArray{nullptr};\r
-        const char **WindSpeedPathsArray{nullptr};\r
-        const char **HumidityPathsArray{nullptr};\r
+        const ImageInfo **UVPathsArray{nullptr};\r
+        const ImageInfo **WindSpeedPathsArray{nullptr};\r
+        const ImageInfo **HumidityPathsArray{nullptr};\r
         bool viewInitStatus{false};\r
     };\r
 } // namespace OHOS\r
index 2aa9563..9405ffc 100644 (file)
@@ -99,11 +99,15 @@ namespace OHOS
             delete HumidityImageAnimatorView;\r
             HumidityImageAnimatorView = nullptr;\r
 \r
-            FreeImagePathsArray(UVPathsArray, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+            // FreeImagePathsArray(UVPathsArray, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
 \r
-            FreeImagePathsArray(WindSpeedPathsArray, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+            // FreeImagePathsArray(WindSpeedPathsArray, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
 \r
-            FreeImagePathsArray(HumidityPathsArray, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+            // FreeImagePathsArray(HumidityPathsArray, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+\r
+            FreeImageInfoArray(UVPathsArray, UVPaths, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+            FreeImageInfoArray(UVPathsArray, WindSpeedPaths, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+            FreeImageInfoArray(HumidityPathsArray, HumidityPaths, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
         }\r
     }\r
 \r
@@ -256,7 +260,7 @@ namespace OHOS
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "WeatherReportView::WeatherReportViewImageAnimatorViewInit");\r
 \r
         /* ----------------------------- UVImageAnimatorView---------------------------- */\r
-        UVPathsArray = CreateImagePathsArray(UVPaths, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+        UVPathsArray = CreateImageInfoArray(UVPaths, UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
         if (UVImageAnimatorView == nullptr)\r
         {\r
             UVImageAnimatorView = new UIImageAnimatorView();\r
@@ -267,8 +271,10 @@ namespace OHOS
             }\r
             for (uint8_t i = 0; i < UV_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
             {\r
-                UVimageAnimatorInfo[i].imagePath = UVPathsArray[i];\r
-                UVimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                // UVimageAnimatorInfo[i].imagePath = UVPathsArray[i];\r
+                // UVimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                UVimageAnimatorInfo[i].imageInfo = UVPathsArray[i];\r
+                UVimageAnimatorInfo[i].imageType = IMG_SRC_IMAGE_INFO;\r
                 UVimageAnimatorInfo[i].pos.x = UV_IMAGE_ANIMATOR_VIEW_X;\r
                 UVimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
                 UVimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r
@@ -282,7 +288,7 @@ namespace OHOS
             UVImageAnimatorView->Start();\r
         }\r
         /* ----------------------- WindSpeedImageAnimatorView ----------------------- */\r
-        WindSpeedPathsArray = CreateImagePathsArray(WindSpeedPaths, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+        WindSpeedPathsArray = CreateImageInfoArray(WindSpeedPaths, WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
         if (WindSpeedImageAnimatorView == nullptr)\r
         {\r
             WindSpeedImageAnimatorView = new UIImageAnimatorView();\r
@@ -293,8 +299,10 @@ namespace OHOS
             }\r
             for (uint8_t i = 0; i < WINDSPEED_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
             {\r
-                WindSpeedimageAnimatorInfo[i].imagePath = WindSpeedPathsArray[i];\r
-                WindSpeedimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                // WindSpeedimageAnimatorInfo[i].imagePath = WindSpeedPathsArray[i];\r
+                // WindSpeedimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                WindSpeedimageAnimatorInfo[i].imageInfo = WindSpeedPathsArray[i];\r
+                WindSpeedimageAnimatorInfo[i].imageType = IMG_SRC_IMAGE_INFO;\r
                 WindSpeedimageAnimatorInfo[i].pos.x = WINDSPEED_IMAGE_ANIMATOR_VIEW_X;\r
                 WindSpeedimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
                 WindSpeedimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r
@@ -308,7 +316,7 @@ namespace OHOS
             WindSpeedImageAnimatorView->Start();\r
         }\r
         /* ------------------------ HumidityImageAnimatorView ----------------------- */\r
-        HumidityPathsArray = CreateImagePathsArray(HumidityPaths, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
+        HumidityPathsArray = CreateImageInfoArray(HumidityPaths, HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);\r
         if (HumidityImageAnimatorView == nullptr)\r
         {\r
             HumidityImageAnimatorView = new UIImageAnimatorView();\r
@@ -319,8 +327,10 @@ namespace OHOS
             }\r
             for (uint8_t i = 0; i < HUMIDITY_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)\r
             {\r
-                HumidityimageAnimatorInfo[i].imagePath = HumidityPathsArray[i];\r
-                HumidityimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                // HumidityimageAnimatorInfo[i].imagePath = HumidityPathsArray[i];\r
+                // HumidityimageAnimatorInfo[i].imageType = IMG_SRC_FILE_PATH;\r
+                HumidityimageAnimatorInfo[i].imageInfo = HumidityPathsArray[i];\r
+                HumidityimageAnimatorInfo[i].imageType = IMG_SRC_IMAGE_INFO;\r
                 HumidityimageAnimatorInfo[i].pos.x = HUMIDITY_IMAGE_ANIMATOR_VIEW_X;\r
                 HumidityimageAnimatorInfo[i].pos.y = UV_IMAGE_ANIMATOR_VIEW_Y;\r
                 HumidityimageAnimatorInfo[i].width = UV_IMAGE_ANIMATOR_VIEW_W;\r