美文网首页
静态内存分析-场景演练-桥接

静态内存分析-场景演练-桥接

作者: 流氓兔刘 | 来源:发表于2017-07-20 11:29 被阅读0次

1.MRC环境下桥接

- (void)MRC{

//MRC下桥接

//Foundation到CoreFoundation框架的数据类型转换

NSString*str = [[NSStringalloc]init];

//CFStringRef ,这种转换,属于直接转换,不会移交对象的内存管理

CFStringRefstrRef = (CFStringRef)str;

NSLog(@"%@",strRef);

[strrelease];

//CoreFoundation到Foundation框架的数据类型转换

CFStringRefstrRef2 =CFStringCreateWithCString(CFAllocatorGetDefault(),"123",kCFStringEncodingUTF8);

//这种转换,属于直接转换,不会移交对象的内存管理

NSString*str2 = (NSString*)strRef2;

NSLog(@"%@",str2);

CFRelease(strRef2);

}

2.ARC环境下桥接

- (void)ARC{

//ARC下桥接

//Foundation到CoreFoundation框架的数据类型转换

NSString*str = [[NSStringalloc]init];

//(__bridge CFStringRef)等同于MRC下面的直接转换,不会移交对象的内存管理

//CFStringRef strRef = (__bridge CFStringRef)(str);

//CFBridgingRetain == __bridge_retained CFStringRef

//这种转换,会移交对象的内存管理

CFStringRefstrRef = (__bridge_retainedCFStringRef)(str);

NSLog(@"%@",strRef);

CFRelease(strRef);

//CoreFoundation到Foundation框架的数据类型转换

CFStringRefstrRef2 =CFStringCreateWithCString(CFAllocatorGetDefault(),"123",kCFStringEncodingUTF8);

//__bridge NSString *等同于MRC下面的直接转换,不会移交对象的内存管理

//NSString *str2 = (__bridge NSString *)strRef2;

//CFBridgingRelease == __bridge_transfer NSString *

//这种转换,会移交对象的内存管理

NSString*str2 = (__bridge_transferNSString*)strRef2;

NSLog(@"%@",str2);

// CFRelease(strRef2);

}

相关文章

  • 静态内存分析-场景演练-桥接

    1.MRC环境下桥接 - (void)MRC{ //MRC下桥接 //Foundation到CoreFoundat...

  • 内存分析

    内存分析可以分为静态内存分析和动态内存分析;主要是利用Xcode自带工具进行内存泄露监测; 静态内存分析: 概念:...

  • iOS - 静态与动态内存分析

    一、静态内存分析 静态内存分析:优点:分析内存非常快,已经可以对整个项目的内存进行分析。缺点:不运行程序,直接对代...

  • 静态/动态内存分析

    硬盘 -->内存-->CPU内存泄漏:内存空间使用完毕之后未回收 一、静态内存分析 静态内存分析:不运行程序,直接...

  • 内存泄露的分析

    内存泄露的分析 1.静态内存分析 2.动态内存分析概念:

  • APP内存泄漏检测

    内存泄漏检测 检测内存泄漏的几种方式 静态检测分析 静态检测分析又分为两种,一种是手动静态分析,一种是自动静态分析...

  • iOS内存优化

    内存分析 静态分析 Analyze 动态分析 Instruments 可以查看内存分配情况Allocations ...

  • iOS性能测试实战篇(二)

    内存 可分为静态分析和动态分析。l 静态分析Analyzel 动态分析LeaksActivity Moni...

  • ubuntu设置永久ip

    【ubuntu 12.04】 vmware 桥接模式 在vmware 的桥接模式下,设置ubuntu 的静态IP ...

  • IOS性能调优系列:使用Instruments动态分析内存泄漏(

    1.Analyze对App做静态分析,可以发现应用中的内存泄露问题,但是对于有些内存泄露通过静态内存分析是无法解决...

网友评论

      本文标题:静态内存分析-场景演练-桥接

      本文链接:https://www.haomeiwen.com/subject/kfmhattx.html