Iphone 应用程序加载时出现iOS内存泄漏
我正在尝试查找我的应用程序中存在的内存泄漏。当应用程序加载时,我立即得到一个内存泄漏,看起来就像instuments中一样 我如何调试它?无论我运行我的应用程序多长时间或我做什么,它都不会自我复制,只有在应用程序加载时才会复制 这是我在委托中的代码Iphone 应用程序加载时出现iOS内存泄漏,iphone,objective-c,ios,memory-leaks,Iphone,Objective C,Ios,Memory Leaks,我正在尝试查找我的应用程序中存在的内存泄漏。当应用程序加载时,我立即得到一个内存泄漏,看起来就像instuments中一样 我如何调试它?无论我运行我的应用程序多长时间或我做什么,它都不会自我复制,只有在应用程序加载时才会复制 这是我在委托中的代码 - (void)applicationDidFinishLaunching:(UIApplication *)application { tabBarController = [[UITabBarController alloc
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController = [[UITabBarController alloc] init];
search = [[iPhoneView alloc] initWithNibName:@"iPhoneView" bundle:nil];
homeNavigationController = [[UINavigationController alloc] initWithRootViewController:search];
favouritesNavigationController = [[UINavigationController alloc] init];
favoritesViewController = [[FavoritesViewController alloc]init];
[favouritesNavigationController pushViewController:favoritesViewController animated:NO];
aboutUsViewController =[[AboutUsViewController alloc] init];
UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"toolbox" image:[UIImage imageNamed:@"aboutus"] tag:0];
aboutUsViewController.tabBarItem = item;
[item release];
UITabBarItem *item2 = [[UITabBarItem alloc] initWithTitle:@"αγαπημένα" image:[UIImage imageNamed:@"favorites"] tag:0];
favouritesNavigationController.tabBarItem = item2;
[item2 release];
NSArray *tabBarControllerCollection = [NSArray arrayWithObjects:homeNavigationController,favouritesNavigationController,aboutUsViewController,nil];
[tabBarController setViewControllers:tabBarControllerCollection animated:NO];
[window setRootViewController:tabBarController];
[tabBarControllerCollection release]; //added that for the leaks
//[window addSubview:tabBarController.view]; for the warning thing about window and root view controller
[window makeKeyAndVisible];
}
- (void)dealloc {
[tabBarController release];
[search release];
[favoritesViewController release];
[favouritesNavigationController release];
[aboutUsViewController release];
[window release];
[super dealloc];
}
释放未释放的homeNavigationController并检查您是否在其他地方丢失。释放未释放的homeNavigationController并检查您是否在其他地方丢失。请使用泄漏的呼叫树视图,这将显示问题发生的位置,并帮助您排除故障。还可以尝试使用真实的设备,因为模拟器可能会显示误报
请使用泄漏的呼叫树视图,该视图将显示问题发生的位置,并帮助您排除故障。还可以尝试使用真实的设备,因为模拟器可能会显示误报
它也可能在您在那里创建的视图控制器的初始代码中的任何位置,这可能需要检查相当多的代码:)也许有人有一个好主意系统地解决这个问题,我也会对此感兴趣。您使用了ARC吗?“—(void)applicationdFinishLaunching:(UIApplication*)application”方法已被弃用,请使用:“—(BOOL)application:(UIApplication*)application didnishLaunchingwithoptions:”(NSDictionary*)Launchoptions否我没有使用ARC ok我也会更改,因此没有收到任何警告!是的,我知道它可能在任何地方,但泄漏很快就会出现,而且总是在同一时间出现,所以我认为它应该出现在代理上或其他地方。您是在模拟器中还是在设备上分析应用程序?您的部署目标是什么?5.0? 5.1?它可能在你在那里创建的视图控制器的初始代码中的任何地方,这可能需要检查相当多的代码:)也许有人有一个好主意系统地解决这个问题,我也会对此感兴趣。你使用了ARC吗?“—(void)applicationdFinishLaunching:(UIApplication*)application”方法已被弃用,请使用:“—(BOOL)application:(UIApplication*)application didnishLaunchingwithoptions:”(NSDictionary*)Launchoptions否我没有使用ARC ok我也会更改,因此没有收到任何警告!是的,我知道它可能在任何地方,但泄漏很快就会出现,而且总是在同一时间出现,所以我认为它应该出现在代理上或其他地方。您是在模拟器中还是在设备上分析应用程序?您的部署目标是什么?5.0? 5.1?可能需要释放FavoriteSnavigationController,AboutsViewController?可能需要释放FavoriteSnavigationController,AboutsViewController?如果使用调用树,我没有得到任何信息,它是空的,这就是我无法调试的原因!我又添加了一个CycleSorry的屏幕截图,但不清楚。您是否为泄漏显示(泄漏下方的面板)设置了任何过滤器?您是否使用模拟器或真实设备?这两种情况都一样吗?您是否只看到泄漏或全局内存使用正在增加?看看脏内存,也看看Apple WWDC 2012关于内存泄漏故障排除的视频-可能会有帮助。如果使用调用树,我没有得到任何东西,它是空的,这就是我无法调试的原因!我又添加了一个CycleSorry的屏幕截图,但不清楚。您是否为泄漏显示(泄漏下方的面板)设置了任何过滤器?您是否使用模拟器或真实设备?这两种情况都一样吗?您是否只看到泄漏或全局内存使用正在增加?看看脏内存,也看看Apple WWDC 2012关于内存泄漏故障排除的视频-可能会有所帮助。