lvgl切换gif产生内存碎片

用的lvlg8.3,切换gif后总是会产生1%的内存碎片,这样剩余内存就一直在减少,怎么解决呀大佬们。
代码:
main:
if(img_gif) {
lv_obj_delete(img_gif);
img_gif = NULL;
}
img_gif = lv_gif_create(lv_screen_active());
/* 3. 设置路径:盘符 + 分隔符 + 文件名 */
// 注意:路径格式取决于你在 fs_drv 中定义的规则
lv_gif_set_src(img_gif,“S:/anim.gif”);
lv_obj_center(img_gif);

切换函数:void lcd_face_look_left(void)
{
check_mem();
/*
* Reuse one lv_gif object: lv_gif_set_src() already closes the previous GIF
* and opens the new file. lv_obj_delete + lv_gif_create each time reallocates
* the widget, timer, and object metadata and worsens heap fragmentation
* (lv_mem_monitor frag_pct) without freeing more GIF canvas RAM.
*/
if (img_gif == NULL) {
img_gif = lv_gif_create(lv_screen_active());
if (img_gif == NULL) {
TAL_PR_INFO(“![LVGL ERROR]: Failed to create gif object (Out of memory?)”);
return;
}
}
lv_gif_set_src(img_gif, “S:/left.gif”);
lv_obj_center(img_gif);

check_mem();
TAL_PR_INFO("--- set left.gif ---");
transfer_gif = 0;

}