• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 为什么block里面使用self,instrumentsleaks没有检测出内存泄漏?需要用什么方法才能检测出

为什么block里面使用self,instrumentsleaks没有检测出内存泄漏?需要用什么方法才能检测出

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了为什么block里面使用self,instrumentsleaks没有检测出内存泄漏?需要用什么方法才能检测出等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么block 里面使用self,instruments leaks 没有检测出内存泄漏?需要用什么方法才能检测出
描述:

① 为什么block 里面使用self,instruments leaks 没有检测出内存泄漏?
② 那么需要用什么方法才能检测出这里是出现了内存泄漏,因为一直都是网上这么说的,自己检测就不出来了。

下面事例代码:


#import "ViewController.h"

typedef void(^myBlock)(NSString *);

@interface ViewController ()

@property(nonatomic, copy) myBlock BlockName;

@property (nonatomic, copy) NSString  *name1;
@property (nonatomic, copy) NSString  *name2;
@property (nonatomic, strong) NSMutableArray  *students;


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    /// 问:为什么instruments leaks 没有检测出内存泄漏?
    /// 那么需要用什么方法才能检测出这里是出现了内存泄漏,因为一直都是网上这么说的,自己检测就不出来了。
    self.BlockName = ^(NSString *ken){
        self.name1 = ken;
        self.name2 = ken;
        [self.students addObject:self.name1];
        [self.students addObject:self.name2];
    };
    
    self.BlockName(@"apple");
}

@end

解决方案1:

在block使用self实际上是循环引用,也就是相对于ARC情况下两个对象之间进行了强引用,虽然彼此都没有释放内存,但是彼此都是被引用者。目前Xcode 8中使用runtime调试可以看到内存的关系图,可以通过关系图找到循环引用的两个对象。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 为什么block里面使用self,instrumentsleaks没有检测出内存泄漏?需要用什么方法才能检测出

相关文章

  • 2017-06-05 在上传苹果app时候,如何一个账号生成证书可以再多台电脑上上传app
  • 2017-06-05 UILabel行距iOS开发:UILabel识别HTML标签
  • 2017-06-05 UITextField的leftView点击属性问题
  • 2017-06-05 不知道是不是删了个东西,Cocoapodspodsetup老是出错,求大神解决!!!
  • 2017-06-05 iOS基础控件如何使用iOS里的附加的中文字体
  • 2017-06-05 ios开发教程如何学习IOS开发
  • 2017-06-05 app没有crash,但是不动了,这是什么情况?怎么调试?
  • 2017-06-05 APPHTTPS协议抓包难题
  • 2017-06-05 知之为知之不知为不知是知也类似知乎的赞赏功能,的开发流程
  • 2017-06-05 viewWillAppear不运行。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • UIView重复调用多次layoutSubviews方法
    • 楚天都市报多媒体报NSInteger报警告
    • 关键字搜索怎么写
    • 研讨会通知收到通知后点击通知会执行哪个方法?
    • ios图片如何转化成二进制流
    • iOS开发,使用masonry布局,如何让控件动态调整布局???e
    • IOS开发需要经常用真机调试吗
    • 异步编程分类异步编程线性化操作
    • 垂直类电商电商类频道有更新显示小红点
    • OC求大神解决BUG,困惑几天了。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有