pro*_*ock 8 iphone objective-c grand-central-dispatch
当视图控制器在我创建gcd队列的行调用我的模型类方法时,我得到内存泄漏.有任何想法吗?
+(void)myClassMethod {
dispatch_queue_t myQueue = dispatch_queue_create("com.mysite.page", 0); //run with leak instrument points here as culprit
dispatch_async(myQueue, ^{});
}
Run Code Online (Sandbox Code Playgroud)
zrz*_*zka 18
你应该把它改成......
dispatch_queue_t myQueue = dispatch_queue_create("com.mysite.page", 0);
dispatch_async(myQueue, ^{});
dispatch_release(myQueue);
Run Code Online (Sandbox Code Playgroud)
... dispatch_release当你不再需要访问队列时,你应该打电话.和myQueue本地变量一样,你必须在那里调用它.
阅读dispatch_queue_create文档:
讨论
提交到队列的块按FIFO顺序一次执行一个.但是,请注意,提交给独立队列的块可以相互同时执行.
当您的应用程序不再需要调度队列时,它应该使用dispatch_release函数释放它.提交到队列的任何挂起块都会保留对该队列的引用,因此在完成所有挂起块之前不会释放队列.
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |