<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[v853 lvgl 使用删除obj来隐藏界面会报错]]></title><description><![CDATA[<p dir="auto">设计思路：使用lv_obj_create(NULL)来创建一个lv_obj_t *obj，在show函数里面使用lv_scr_load_anim()来进行界面切换，在hide函数使用lv_obj_clean（lv_obj_del也试过），使用按键进行切换，会直接卡死退出。<img src="/assets/uploads/files/1698300813405-5b691c80-4707-42d1-9428-9226bbd669cb-1698300757883.jpg" alt="5b691c80-4707-42d1-9428-9226bbd669cb-1698300757883.jpg" class=" img-responsive img-markdown" width="957" height="610" /></p>
]]></description><link>https://bbs.aw-ol.com/topic/4502/v853-lvgl-使用删除obj来隐藏界面会报错</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 15:06:53 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/4502.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Oct 2023 06:13:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to v853 lvgl 使用删除obj来隐藏界面会报错 on Mon, 30 Oct 2023 02:11:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/684">@jeffdev</a> 在 <a href="/post/19472">v853 lvgl 使用删除obj来隐藏界面会报错</a> 中说：</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/242">@sunchipv</a> 如果是多个界面的话，自己搞个窗口管理的，然后不用隐藏，直接用lv_scr_load或lv_scr_load_anim来加载不同的界面，通过参数可以控制不删除或者删除上一个窗口对象，而不用自己手动删除。这个状况更可能的是内存泄漏，但还有因为字体导致出现的应用挂掉。如果是在板子上运</p>
</blockquote>
<p dir="auto">好的，我试一下，感谢</p>
]]></description><link>https://bbs.aw-ol.com/post/19491</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/19491</guid><dc:creator><![CDATA[sunchipV]]></dc:creator><pubDate>Mon, 30 Oct 2023 02:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to v853 lvgl 使用删除obj来隐藏界面会报错 on Fri, 27 Oct 2023 08:10:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/242">@sunchipv</a> 如果是多个界面的话，自己搞个窗口管理的，然后不用隐藏，直接用lv_scr_load或lv_scr_load_anim来加载不同的界面，通过参数可以控制不删除或者删除上一个窗口对象，而不用自己手动删除。这个状况更可能的是内存泄漏，但还有因为字体导致出现的应用挂掉。如果是在板子上运行的，使用core dump，然后看看到底是在哪里挂掉的。</p>
<p dir="auto">如果你直接在板子上运行，调试就是用gdbserver也不方便，可以用https://github.com/lvgl/lv_port_pc_visual_studio#lvgl-for-windows-visual-studio-port ，修改下这个，把自己的应用做成个静态库，这样不管是交叉编译的还是PC上都很方便，毕竟VS调试太方便了。</p>
]]></description><link>https://bbs.aw-ol.com/post/19472</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/19472</guid><dc:creator><![CDATA[jeffdev]]></dc:creator><pubDate>Fri, 27 Oct 2023 08:10:47 GMT</pubDate></item><item><title><![CDATA[Reply to v853 lvgl 使用删除obj来隐藏界面会报错 on Fri, 27 Oct 2023 03:53:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/684">@jeffdev</a> 异步这个我也试过，一样会挂掉。之前根过lv_obj_create代码，然后我使用lv_mem_free来释放之前的申请，但一样不行。ps：我现在是使用LV_OBJ_FLAG_HIDDEN标志位来实现界面切换。这个问题是开发中遇到的，就是想知道为什么会不行？是否有解？</p>
]]></description><link>https://bbs.aw-ol.com/post/19462</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/19462</guid><dc:creator><![CDATA[sunchipV]]></dc:creator><pubDate>Fri, 27 Oct 2023 03:53:09 GMT</pubDate></item><item><title><![CDATA[Reply to v853 lvgl 使用删除obj来隐藏界面会报错 on Fri, 27 Oct 2023 03:22:44 GMT]]></title><description><![CDATA[<p dir="auto">你可以用PC上的模拟器进行开发，然后把代码再移植到arm linux下，这样调试的话再PC上用VS就很方便。删除界面有异步async函数，可以考虑用异步的，看看是不是已经del的obj后续还被引用了。</p>
<p dir="auto">RAM的占用其实只要不是MCU上开发，可以不担心，也就几十K，我的应用二三十个界面，lvgl本身的RAM占用也就几百K。</p>
]]></description><link>https://bbs.aw-ol.com/post/19456</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/19456</guid><dc:creator><![CDATA[jeffdev]]></dc:creator><pubDate>Fri, 27 Oct 2023 03:22:44 GMT</pubDate></item><item><title><![CDATA[Reply to v853 lvgl 使用删除obj来隐藏界面会报错 on Thu, 26 Oct 2023 06:25:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/242">@sunchipv</a> 在 <a href="/post/19437">v853 lvgl 使用删除obj来隐藏界面会报错</a> 中说：</p>
<blockquote>
<p dir="auto">obj_create(NULL)来创建一个lv_obj_t *obj，在show函数里面使用lv_scr</p>
</blockquote>
<p dir="auto">使用lv_obj_add_flag和lv_obj_clear_flag来进行是可以实现显示和隐藏，但是这样内存消耗会比较厉害</p>
]]></description><link>https://bbs.aw-ol.com/post/19438</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/19438</guid><dc:creator><![CDATA[sunchipV]]></dc:creator><pubDate>Thu, 26 Oct 2023 06:25:52 GMT</pubDate></item></channel></rss>