LVGL8.3 动画无限循环导致的内存增加

lvgl8.3,页面1调用动画函数实现图片的无限次旋转,其函数如下
void scr1imganim_Animation(lv_obj_t * TargetObject, int delay)
{
ui_anim_user_data_t * PropertyAnimation_0_user_data = lv_mem_alloc(sizeof(ui_anim_user_data_t));
PropertyAnimation_0_user_data->target = TargetObject;
PropertyAnimation_0_user_data->val = -1;
lv_anim_t PropertyAnimation_0;
lv_anim_init(&PropertyAnimation_0);
lv_anim_set_time(&PropertyAnimation_0, 5000);
lv_anim_set_user_data(&PropertyAnimation_0, PropertyAnimation_0_user_data);
lv_anim_set_custom_exec_cb(&PropertyAnimation_0, _ui_anim_callback_set_image_angle);
lv_anim_set_values(&PropertyAnimation_0, 0, 3600);
lv_anim_set_path_cb(&PropertyAnimation_0, lv_anim_path_linear);
lv_anim_set_delay(&PropertyAnimation_0, delay + 0);
lv_anim_set_deleted_cb(&PropertyAnimation_0, _ui_anim_callback_free_user_data);
lv_anim_set_playback_time(&PropertyAnimation_0, 0);
lv_anim_set_playback_delay(&PropertyAnimation_0, 0);
lv_anim_set_repeat_count(&PropertyAnimation_0, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_repeat_delay(&PropertyAnimation_0, 0);
lv_anim_set_early_apply(&PropertyAnimation_0, false);
lv_anim_set_get_value_cb(&PropertyAnimation_0, &_ui_anim_callback_get_image_angle);
lv_anim_start(&PropertyAnimation_0);
},
页面2只显示一张图片(未加动画效果),lvgl里启用了#define LV_USE_MEM_MONITOR 1,开始屏幕显示9.4kB used(8%)1% frag,发现在页面1和页面2来回不断切换,一段时间后,屏幕显示16.2kB used(13%)1% frag,为什么used的内存会在不断的增加?页面切换的过程中没有删除任何东西,只是切换时加载不同的页面

找到问题了,每次切换页面时,我会在页面开始加载的时候调用scr1imganim_Animation函数,相当于在不断的创建动画对象,而在切换的过程中,没有释放已经创建的对象,重复创建了动画对象,导致内存不断的增加