我在我的应用上遇到了内存管理方面的一些问题。该应用程序将正常运行一段时间,然后我将收到收到内存警告错误。然后我通过Profile运行我的应用程序以查找内存泄漏。在跟踪泄漏后,我在这条线上得到了100%的内存泄漏:
[self performSelectorOnMainThread:@selector(loadingProgress:) withObject:[NSNumber numberWithFloat:0.0] waitUntilDone:NO];
我可能天真,但我不知道这可能会泄漏...
任何人都知道如何解决这个问题?
答案 0 :(得分:3)
唯一可能的泄漏是您在线程中过度保留NSNumber
实例。但是为了导致崩溃,你必须分离成千上万的线程,这本身就是一个非常严重的问题。
请注意,Leaks仪器会显示泄漏的分配位置,而不是过度保留的位置。
同样,泄漏只显示泄漏。它不会显示分配仍然由全局对象图引用的分配的增加。即如果一个对象可以通过从全局变量开始的引用路径到达,那么它就不是泄漏。
试试heapshot analysis。随着时间的推移,它非常善于发现这种吸积。