登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

MLeaksFinder

[复制链接]
来自: shareiOS 分类: iOS精品源码 上传时间: 2016-12-2 12:20:43

项目介绍:

https://github.com/Zepo/MLeaksFinder

MLeaksFinder

MLeaksFinder helps you find memory leaks in your iOS apps at develop time. It can automatically find leaks in UIView and UIViewController objects, present an alert with the leaked object in its View-ViewController stack when leaks happening. More over, it can try to find a retain cycle for the leaked object using FBRetainCycleDetector. Besides finding leaks in UIView and UIViewController objects, developers can extend it to find leaks in other kinds of objects.

MLeaksFinder可帮助您在开发时查找您的iOS应用程序中的内存泄漏。 它可以自动查找UIView和UIViewController对象中的泄漏,当泄漏发生时,在其View-ViewController堆栈中显示泄漏对象的警报。 更多,它可以尝试使用FBRetainCycleDetector找到泄漏对象的保留周期。 除了在UIView和UIViewController对象中查找泄漏,开发人员可以扩展它以查找其他类型对象中的泄漏。

Communication

QQ group: 482121244

Installation

pod 'MLeaksFinder'

MLeaksFinder comes into effect after pod install, there is no need to add any code nor to import any header file.

MLeaksFinder在`pod install'之后生效,不需要添加任何代码或导入任何头文件。

Usage

MLeaksFinder can automatically find leaks in UIView and UIViewController objects. When leaks happening, it will present an alert with the leaked object in its View-ViewController stack.

MLeaksFinder可以自动查找UIView和UIViewController对象中的泄漏。 当泄漏发生时,它将在其View-ViewController堆栈中提供泄漏对象的警报。

Memory Leak
(
    MyTableViewController,
    UITableView,
    UITableViewWrapperView,
    MyTableViewCell
)

For the above example, we are sure that objects of MyTableViewController, UITableView, UITableViewWrapperView are deallocated successfully, but not the objects of MyTableViewCell.

MLeaksFinder can also try to find a retain cycle for the leaked object using FBRetainCycleDetector.

对于上面的例子,我们确信“MyTableViewController”,“UITableView”,“UITableViewWrapperView”的对象被成功解除分配,但不是“MyTableViewCell”的对象。

MLeaksFinder也可以尝试使用FBRetainCycleDetector查找泄漏对象的保留循环。

Retain Cycle
(
    "-> MyTableViewCell ",
    "-> _callback -> __NSMallocBlock__ "
)

With the output, we know that the object of MyTableViewCell has a __strong instance variable named _callback, which is of type __NSMallocBlock__. And _callback also has a __strong reference back to MyTableViewCell.

使用输出,我们知道MyTableViewCell的对象有一个名为_callback__strong实例变量,它的类型为__NSMallocBlock__。 和_callback也有一个__strong引用返回MyTableViewCell

Mute Assertion

If your class is designed as singleton or for some reason objects of your class should not be dealloced, override - (BOOL)willDealloc in your class by returning NO.

如果你的类被设计为单例,或者由于某些原因你的类的对象不应该被释放,在你的类中重写 - (BOOL)willDealloc,返回NO。

- (BOOL)willDealloc {
    return NO;
}

Find Leaks in Other Objects

MLeaksFinder finds leaks in UIView and UIViewController objects by default. However, you can extend it to find leaks in the whole object graph rooted at a UIViewController object.

默认情况下,MLeaksFinder在UIView和UIViewController对象中找到泄漏。 但是,您可以扩展它以在基于UIViewController对象的整个对象图中查找泄漏。

- (BOOL)willDealloc {
    if (![super willDealloc]) {
        return NO;
    }
    
    MLCheck(self.viewModel);
    return YES;
}

code4app

相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
kengsir 2016-12-2 21:28:04
我是来学习的
回复
BlueManlove 2016-12-2 21:32:04
写的真的很不错
回复
phoiu 2016-12-2 21:38:00
感谢大神分享,必须顶!
回复
AlonMessi 2016-12-2 21:46:18
mark,收藏了
回复
littleRed 2016-12-2 21:55:31
我是来学习的
回复
hellokenken 2016-12-2 22:09:00
帮帮顶顶!!
回复
Torr 2016-12-5 14:21:13
楼主用心了,内容非常精彩。
回复
MrNelSonLLL 2017-2-5 18:27:00
强烈支持楼主ing……
回复
code4app热心网友 2017-2-7 18:42:11
虽不明,但觉厉!
回复
提取码:  下载次数:9 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
1593 0 9
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表