今天,在大连有一个面试,被问到了内存泄漏和野指针指向的区别,自己答的不是很好,特意回来查了资料,在博文中总结一下经验,欢迎指正。 内存泄漏:是指在堆区,alloc 或new 创建了一个对象,但是并没有放到自动释放池中,或者没有free 对象,导致这块内存一直被占用,换一种方法说,就是没有指针指向这块 ...
分类:
移动开发 时间:
2016-04-19 00:20:32
阅读次数:
162
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。
目录
RunLoop 的概念
RunLoop 与线程的关系
RunLoop 对...
分类:
其他好文 时间:
2016-04-08 10:26:02
阅读次数:
313
//重写main方法 -(void)main { //创建自动释放池 @autoreleasepool { //断言 NSAssert(self.finishedBlock != nil, @"finishedBlock 为nil"); NSLog(@"%@ %@",self.urlstr,[NST
分类:
其他好文 时间:
2016-03-08 16:36:03
阅读次数:
132
九、自动释放池是什么,如何工作 当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
分类:
其他好文 时间:
2016-03-08 16:31:55
阅读次数:
98
autorelease基本概念 什么是自动释放池? autorelease是一种支持引用计数的内存管理方式,只要给对象发送一条autorelease消息,会将对象放到一个自动释放池中,当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 自动释放池的优点是什么 不用再关心对象释放的时
分类:
其他好文 时间:
2016-03-04 21:00:31
阅读次数:
166
我们撰写代码是无法避免是要和内存打交道的,内存的使用和释放也就成为了一个问题 ,在cocos中 有如下几种使用方式。 1,autorelease 自动释放池,首先我们来看看相应的开放源码。 当我们对一个对象进行autorelease后,cocos会把这个对象放入内存池,内存池会在用户使用这个对象后自
分类:
其他好文 时间:
2016-03-02 17:50:27
阅读次数:
163
1.OC头文件为#import <Foundation/Foundation.h>意思为导入基础框架;2.输出形式为NSlog(@“格式声明"); @autoreleasepool,自动释放池;3.具有bool型变量(YES,NO);自己定义类;在工程名文件上右击鼠标,点击NEW file,选择so
分类:
其他好文 时间:
2016-03-01 22:34:35
阅读次数:
239
当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池 定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。 1. ojc-c 是通过一种"
分类:
移动开发 时间:
2016-03-01 20:56:58
阅读次数:
182