导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    v853 lvgl 使用删除obj来隐藏界面会报错

    V Series
    2
    6
    2831
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      sunchipV LV 4 最后由 编辑

      设计思路:使用lv_obj_create(NULL)来创建一个lv_obj_t *obj,在show函数里面使用lv_scr_load_anim()来进行界面切换,在hide函数使用lv_obj_clean(lv_obj_del也试过),使用按键进行切换,会直接卡死退出。5b691c80-4707-42d1-9428-9226bbd669cb-1698300757883.jpg

      S 1 条回复 最后回复 回复 引用 分享 0
      • S
        sunchipV LV 4 @sunchipV 最后由 编辑

        @sunchipv 在 v853 lvgl 使用删除obj来隐藏界面会报错 中说:

        obj_create(NULL)来创建一个lv_obj_t *obj,在show函数里面使用lv_scr

        使用lv_obj_add_flag和lv_obj_clear_flag来进行是可以实现显示和隐藏,但是这样内存消耗会比较厉害

        1 条回复 最后回复 回复 引用 分享 0
        • J
          jeffdev LV 7 最后由 编辑

          你可以用PC上的模拟器进行开发,然后把代码再移植到arm linux下,这样调试的话再PC上用VS就很方便。删除界面有异步async函数,可以考虑用异步的,看看是不是已经del的obj后续还被引用了。

          RAM的占用其实只要不是MCU上开发,可以不担心,也就几十K,我的应用二三十个界面,lvgl本身的RAM占用也就几百K。

          S 1 条回复 最后回复 回复 引用 分享 1
          • S
            sunchipV LV 4 @jeffdev 最后由 编辑

            @jeffdev 异步这个我也试过,一样会挂掉。之前根过lv_obj_create代码,然后我使用lv_mem_free来释放之前的申请,但一样不行。ps:我现在是使用LV_OBJ_FLAG_HIDDEN标志位来实现界面切换。这个问题是开发中遇到的,就是想知道为什么会不行?是否有解?

            J 1 条回复 最后回复 回复 引用 分享 0
            • J
              jeffdev LV 7 @sunchipV 最后由 编辑

              @sunchipv 如果是多个界面的话,自己搞个窗口管理的,然后不用隐藏,直接用lv_scr_load或lv_scr_load_anim来加载不同的界面,通过参数可以控制不删除或者删除上一个窗口对象,而不用自己手动删除。这个状况更可能的是内存泄漏,但还有因为字体导致出现的应用挂掉。如果是在板子上运行的,使用core dump,然后看看到底是在哪里挂掉的。

              如果你直接在板子上运行,调试就是用gdbserver也不方便,可以用https://github.com/lvgl/lv_port_pc_visual_studio#lvgl-for-windows-visual-studio-port ,修改下这个,把自己的应用做成个静态库,这样不管是交叉编译的还是PC上都很方便,毕竟VS调试太方便了。

              S 1 条回复 最后回复 回复 引用 分享 1
              • S
                sunchipV LV 4 @jeffdev 最后由 编辑

                @jeffdev 在 v853 lvgl 使用删除obj来隐藏界面会报错 中说:

                @sunchipv 如果是多个界面的话,自己搞个窗口管理的,然后不用隐藏,直接用lv_scr_load或lv_scr_load_anim来加载不同的界面,通过参数可以控制不删除或者删除上一个窗口对象,而不用自己手动删除。这个状况更可能的是内存泄漏,但还有因为字体导致出现的应用挂掉。如果是在板子上运

                好的,我试一下,感谢

                1 条回复 最后回复 回复 引用 分享 0
                • 1 / 1
                • First post
                  Last post

                Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                行为准则 | 用户协议 | 隐私权政策