[√]cocos2dx 内存泄露

简介: [√]cocos2dx 内存泄露

来自云风的监测lua内存泄露的工具 lua-snapshot

protobuf内存泄露

void protobuf_ShutdownFile_data_2eproto() {
  delete HMRequest::default_instance_;
  delete HMResponse::default_instance_;
}
void protobuf_AddDesc_data_2eproto() {
  static bool already_here = false;
  if (already_here) return;
  already_here = true;
  GOOGLE_PROTOBUF_VERIFY_VERSION;
#endif
  // 如果程序退出时不清理,会造成这里内存泄露
  HMRequest::default_instance_ = new HMRequest(); 
  HMResponse::default_instance_ = new HMResponse();
  HMRequest::default_instance_->InitAsDefaultInstance();
  HMResponse::default_instance_->InitAsDefaultInstance();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_data_2eproto);// 这里有注册清理函数
}

这段代码是一个由 Protocol Buffers 自动生成的函数,用于向应用程序添加 Protocol Buffers 消息描述符。

当程序退出时,需要主动触发OnShutDown进行清理工作,否则会造成内存的泄露,需要在应用程序退出时手动调用 ::google::protobuf::ShutdownProtobufLibrary() 函数。

发现更多的地方都是单例在退出游戏的时候,没有销毁导致的泄露,这种泄露对游戏运行并没有多大的影响,算是偷懒的行为。

不过类似的泄露,vld都检测出来了,要修复比较恶心,暂时就这样吧。

cocos creator 3.x自己实现的内存泄露检测工具

cocos自己实现的一套,window上使用了第三库 littcmalloc_minimal,谷歌开发的,Android是利用weak symbol,ios本身提供了hook接口。

image.png

目录
相关文章
|
iOS开发 编译器 JavaScript
iOS八种内存泄漏问题
循环引用(Retain Cycle) 先简单说一下什么是循环引用(retain cycle) ​假设我们有两个实例A和B,B是A的一个strong型的property,则B的引用计数是1,当A的需要释放的时候,A则会调用[B release]来释放B,B的引用计数则减为0,释放。
2204 0
|
Android开发 iOS开发
[√]cocos2dx openal在ios崩溃的问题分析
[√]cocos2dx openal在ios崩溃的问题分析
178 0
|
JavaScript C++
[√]cocos creator 热更新源码剖析(1)
[√]cocos creator 热更新源码剖析
178 1
|
JavaScript C++
[√]cocos creator 热更新源码剖析(2)
[√]cocos creator 热更新源码剖析(2)
124 1
|
JavaScript
[√]cocos creator 热更新源码剖析(3)
[√]cocos creator 热更新源码剖析
193 1
|
8月前
|
JavaScript 前端开发 Java
CocosCreator 面试题(十)Cocos Creator 内存管理
CocosCreator 面试题(十)Cocos Creator 内存管理
438 0
|
8月前
CocosCreator 面试题(二十) Cocos creator 如何实现一个置灰Shader?
CocosCreator 面试题(二十) Cocos creator 如何实现一个置灰Shader?
264 0
|
8月前
|
编解码 前端开发 UED
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
336 0
|
缓存 安全 Java
[√]cocos2dx 垃圾回收机制
[√]cocos2dx 垃圾回收机制
148 0
[√]cocos2dx vld检测lua websocket的内存泄露问题
[√]cocos2dx vld检测lua websocket的内存泄露问题
92 0

热门文章

最新文章