解决网页使用ocx返回字符串BSTR,内存泄漏问题

问题:
基于activex做了个ocx插件,其中有一个接口,返回采集的图片数据。我通过ocx采集图片,经过base64编码,返回字符串给网页,网页显示图片,但是内存一直增大。

解决过程:
通过资料查询,BSTR类型,实质是指向一块内存的指针,调用者使用它,一定要记得释放。
1,我ocx,增加一个释放内存接口,::SysfreeString(). 网页调用释放,js页面崩溃,说明方法错误。
2,然后网上也有很多其他方法,比如接口通过BSTR* 指针参数返回,都搞不懂。

**最后的解决办法:

微软是不会犯这种低级错误的,如果js调用ocx插件接口,获取图片数据,js使用局部变量接收,内存会自动释放。(后面这些事前端反馈的,我没有验证)其次,js使用使用img 标签,图片显示,内存也没有释放,需要使用div 标签,并且把图片保存本地,通过返回图片路径的方法,规避内存占用不释放问题。

你可能感兴趣的:(坑坑才happy)