GithubHelp home page GithubHelp logo

music4kid / pleaksniffer Goto Github PK

View Code? Open in Web Editor NEW
513.0 513.0 63.0 48 KB

Detect memory leaks for your iOS project automatically.

Home Page: http://mrpeak.cn

License: MIT License

Objective-C 60.87% Ruby 4.44% Shell 34.69%

pleaksniffer's People

Contributors

music4kid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pleaksniffer's Issues

Memory Leak

NSObject+PLeakSniffer.m
getAllPropertyNames
"properties" not freed if not empty

传引用会报内存泄漏

我在首页加载一批数据,
把其中一个自定义的数据类传到push进来的视图,
返回后就报可能泄漏了。
但这个视图的deinit已经被调用了 也就是视图已经释放了
这个数据本身就是不需要释放的。

使用定时器轮询的方式是否有会产生性能上的影响?

PLeakSniffer 会在 install 之后通过定时器来每隔一段时间就发出 ping 的通知,每一个被检测的对象会有一个 Proxy 对象来监听这个通知并执行一些操作,而且这个定时器会一直在 run 直到程序终止。

所以,当程序中被检测的对象越来越多时,会不会导致 CPU 的消耗会越来越多。

会自动调用某些方法

背景:
我的项目中所有 VC 都继承于一个 baseVC : UIViewController, baseVC 里面有一个方法叫 loadingHUD。
loadingHUD 是用来显示 MBProgressHUD 的。

现象:
加入 PLeakSniffer 并使用后,发现所有它会自动调用 loadingHUD。
断点得出的路径是:[vc viewDidAppear:] -> [baseVC viewDidAppear:] -> [UIViewController (PLeak) swizzled_viewDidAppear:] -> [NSObject(PLeakTrack) watchAllRetainedProperties:] -> [baseVC loadingHUD]

出需要注意的是,viewDidAppear 并没有处理任何事务。(only [super viewDidAppear:animated];)

莫名其妙。

memory leak

NSObject+PLeakTrack.m
@selector(getAllPropertyNames:)
On line 129, class_copyPropertyList is called, but it is not released at the end.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.