if (!lv_obj_is_valid(guider_ui.screen_zy))
setup_scr_screen_zy(&guider_ui);
lv_disp_t * d = lv_obj_get_disp(lv_scr_act());
if (d->prev_scr == NULL && d->scr_to_load == NULL)
lv_scr_load_anim(guider_ui.screen_zy, LV_SCR_LOAD_ANIM_MOVE_RIGHT, 10, 10, true);
lv_obj_del(lv_scr_act());
setup_scr_screen_zy(&guider_ui);
lv_scr_load(guider_ui.screen_zy);
代码不全,看不出根本原因,但多次执行卡死的问题基本都是堆栈和内存问题,可以查看一下变量或者对象的创建以及删除是不是对应的,又或者有什么外设的初始化和deinit是不是都正常,可以通过排除的方式去查问题原因。另外如果看不出变量和对象的删除有什么问题的话,之前有遇到过一个内存碎片的问题,具体产生现象和处理可以网站上搜索一下。