我创建了一个测试项目来确认我的内存泄漏: 项目文件:https://dl.dropbox.com/u/3703182/PickerView.zip
基本上,UIPickerView通过IB连接到数据源。当它连接到数据源时,它会泄漏。如果没有,没有泄漏。我需要使用UIPickerView作为即将发布的应用程序,需要尽快发布,不幸的是,由于泄漏,它每两小时就会发生一次崩溃。尽管内存泄漏而没有崩溃,我怎么能使用UIPickerView?
编辑: 它只在设备上泄漏,而不是在模拟器中泄漏。
答案 0 :(得分:1)
这不是泄密。这是一个分配。 如果是泄漏,它将在第二排显示红色尖峰。 对泄漏的真正测试是多次提出和解雇。如果你能做到并表明分配不断上升那么就会出现泄漏。不是这样。
答案 1 :(得分:0)
这是泄漏的Apple库。你无能为力。这是Apple的错。
答案 2 :(得分:0)
这不是你可以控制的泄漏,它是内部的......但这是一个非常少量的内存,不会使你的应用程序崩溃。我有兴趣看看这个看起来像是一个小时...你能提供崩溃的回溯吗?这可能更有助于确定坠机的真正原因。
答案 3 :(得分:0)
添加我的评论作为答案,
您的应用程序不会因为此泄漏而崩溃,因为它是由框架引起的非常小的泄漏,您不必担心。屏幕截图显示它是几个字节。如果您的应用每2小时崩溃,这意味着还有其他东西使用了大量内存。请检查您的代码中是否使用了其他任何可能导致此问题的内容,并根据您的发现更新问题。
在分配工具中,确保检查实时字节部分并检查它的上升程度。如果它保持在15-20 MB以下,你不必担心太多。有关memory usage in app的详细信息,请查看此处。另请查看此XCode Instruments Allocations: Look at Live Bytes or Overall Bytes?。