Malloc error “can't allocate region” failed with error code 12. Any idea how to resolve this?

前端 未结 3 2053
一个人的身影
一个人的身影 2020-12-08 15:11

i am getting this error and dont know what to do with that:

AppName(3786,0xa0810540) malloc: *** mmap(size=16777216) failed (error code=12)
*** error: can\'t         


        
3条回答
  •  爱一瞬间的悲伤
    2020-12-08 16:02

    Sounds strange, but I had the same behavior when main thread was overloaded.

    Memory usage was optimal enough: instruments shows no leaks and live memory was about 2Mb, no memory warnings while running on a device, all massive allocation was done inside autorelease pools etc.

    But there was very huge process of storing data to db (using Core Data) made on main thread. Just moving the storing code to background process like this

    dispatch_async(dispatch_get_global_queue
      (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      BOOL result = NO;
      result = [[DataManager sharedInstance] storeGuestsToDB];
      dispatch_async(dispatch_get_main_queue(), ^{
      //finalization
      }
    }
    

    fixed my problem.

提交回复
热议问题