Skip to content

lvgl接口层资源泄露问题 #361

Description

@xiaoyu-ebox

有下面一段代码:
`def event_cb_3(evt):
print('in evt3')
print('mem used now: %0.2f kB' % (mem.getNow()))

def event_cb_2(evt):
print('in evt2: %u' % (evt.get_code()))
print('mem used now: %0.2f kB' % (mem.getNow()))

for i in range(0, 10):
    btn3 = lv.btn(lv.scr_act())
    btn3.align(lv.ALIGN.TOP_MID, 0, 150 + i * 20)
    btn3.add_event_cb(event_cb_3, lv.EVENT.PRESSED, i)

btn1 = lv.btn(lv.scr_act())
btn1.align(lv.ALIGN.TOP_MID, 0, 10)
btn1.add_event_cb(event_cb_2, lv.EVENT.RELEASED, 0)
`
连续创建了10个btn3,按理退出for循环后所有的btn3都应该被释放的,但是依旧显示在窗口上了,内存也是没有释放出来。

我尝试加了__del__函数,似乎就没问题了。
void pika_lvgl_btn___del__(PikaObj* self) { lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj"); lv_obj_del(lv_obj); }

是否我的理解问题还是设计如此的呢?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions