您当前的位置: 首页 >  清风清晨 objective-c

【内存泄漏 单个对象的内存管理 Objective-C语言】

清风清晨 发布时间:2022-08-14 22:36:09 ,浏览量:3

前言

1)内存泄露是什么:
指的是1个对象没有被及时的回收,在该回收的时候而没有被回收
一直驻留在内存中,直到程序结束的时候才回收。
2)例如,有一个Person类:
Person.h文件:
@interface Person : NSObject
@end
Person.m文件:
@implementation Person
– (void)dealloc
{
NSLog(@“人挂了。。。”);
[super dealloc];
}
main.m文件中:
Person *p1 = [Person new];
这时候,就发生了内存泄露,因为这个p1对象,程序结束的时候才回收。

一、单个对象的内存泄露的情况:

1)有对象的创建,而没有对应的release
所以,我们要干嘛呢,有对象的创建,就要匹配一个release
Person *p1 = [Person new];
[p1 release];
这个时候,才不会发生内存泄露。
2)retain的次数,和release的次数不匹配:
例如:
Person *p1 = [Person new];
[p1 retain];
[p1 release];
3)在不适当的时候,为指针赋值为nil
例如:
Person *p1 =

关注
打赏
查看更多评论

清风清晨

暂无认证

  • 3浏览

    0关注

    70博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录