我在iOS9中遇到此代码问题,每个代码都会导致内存泄漏
时间被称为。我在仪器中发现了此泄漏,似乎正在泄漏的iOS函数是[UITabBarButton initWithImage:selectedImage:label:withInsets:]。

    UITabBarItem *item0 = [tabBarLibrary.items objectAtIndex:0];
    item0.image = [UIImage imageNamed:@"TabBarIcon1.png"];

其他人有这个问题或有解决方法吗?基本上,代码会根据情况切换选项卡栏的图标,这并不复杂。

最佳答案

在设置新图像之前,我将任何现有图像设置为nil。

UITabBarItem *item0 = [tabBarLibrary.items objectAtIndex:0];
item0.image = nil;
item0.image = [UIImage imageNamed:@"TabBarIcon1.png"];

这使ARC可以释放任何现有映像使用的内存。

07-27 18:27