bm_image_destroy
销毁 bm_image 对象,与 bm_image_create 成对使用,建议在哪里创建的 bm_image 对象,就在哪里销毁,避免不必要的内存泄漏。
接口形式:
bm_status_t bm_image_destroy( bm_image image );
传入参数说明:
bm_image image
输入参数。为待销毁的 bm_image 对象。
返回参数说明:
成功返回将销毁该 bm_image 对象,如果该对象的 device memory 是使用 bm_image_alloc_dev_mem 申请的则释放该空间,否则该对象的 device memory 不会被释放由用户自己管理。
注意事项:
bm_image_destroy(bm_image image) 接口设计时,采用了结构体做形参,内部释放了image.image_private指向的内存,但是对指针image.image_private的修改无法传到函数外,导致第二次调用时出现了野指针问题。
为了使客户代码对于sdk的兼容性达到最好,目前不对接口做修改。
建议使用bm_image_destroy(image)后将 image.image_private = NULL,避免多线程时引发野指针问题。