【发布时间】:2013-01-10 15:07:31
【问题描述】:
我几乎完成了我的第一个应用程序(漫长但有趣的时光)
我正在尝试一周来减少应用程序的内存使用量,但如果这不起作用,我想确保它在使用后释放视图,但我发现这不会发生......
我对 searchviewController 没有内存问题,它更多的是使用 100 mb ram 的 DetailsViewController。
我将尝试在摘要中展示我的应用是如何构建的:
Searchview controller
The main screen --> UIViewController with tableview
in the didSelectRowAtIndex i have:
DetailsViewController *controller = [[DetailViewsController alloc]initWithNibName:@"DetailsViewController" bundle:nil];
SearchResult *searchResult = [searchResults objectAtIndex:indexPath.row];
controller.searchResult = searchResult;
DetailsViewController
详细信息屏幕,在选择一行时调用,它具有SubView(自定义滚动视图)的UIView,自定义滚动视图具有Icarousel(自定义UIView)
.h
@property (nonatomic,weak) SearchResult *searchResult;
.m
@property (nonatomic, retain) iCarousel *carousel;
@property (nonatomic, retain) UINavigationItem *navItem;
实施:
MGBox *tablesGrid, *table1;
ViewDidLoad:
//Add barButton
UIBarButtonItem *reactButton = [[UIBarButtonItem alloc]..];
carousel = [[iCarousel alloc] init..];
//Add Tablesgrid
tablesGrid = [MGBox boxWithSize:tablesGridSize];
tablesGrid.contentLayoutMode = MGLayoutGridStyle;
[self.scrollview.boxes addObject:tablesGrid];
//Add Table
table1 = MGBox.box;
[tablesGrid.boxes addObject:table1];
在此之后,我具有将 searchResult 添加到标签并填充 icarousel(最多 6 个项目)的功能,icarousel 是我作为子视图添加到滚动视图等的 uiview。
当我推回导航栏并返回主视图控制器时,它不会释放视图,为什么? (nslogged dealloc 但从未被调用)。内存警告后,它调用 ViewDidUnload 并释放一些内存但仍然没有 dealloc....
我没有引用其他对象对吗?除了 searchResult 但我将它设置为弱,所以它不应该是参考权?
一些信息:
在主视图上搜索后,我有:
实时字节:5,75 mb 实时:27.342 瞬态:68.200 总体 字节:25.30 mb
选择一行并进入 detailsViewController 后,我有:
实时字节:5.4 mb 生活:32.498 瞬态:76.488 总字节数:29.55 MB
拖动icarousel子视图行后(看图):
实时字节:5.5 mb 生活:32.798 瞬态:122.850 总字节数:36.41 MB
在自定义表格视图中选择一些表格后
实时字节:5.7 mb 生活:33.508 瞬态:161.80 总字节数:40.12 MB
在应用中打开链接并返回后(在模式视图中打开并再次关闭)
实时字节:6.7 mb 生活:43.821 瞬态:371.761 总字节数:144.95 MB
点击图片后,将照片设为全屏并再次以 detailscreenview 返回(打开模式并关闭)
实时字节:6.76 mb 生活:43.798 瞬态:400.850 总字节数:155.69 MB
如果我回到另一行,它永远不会减少它只是增加
不要对我太苛刻,或者只是无缘无故地关闭话题..
给我一些提示或建议,或者如果您不知道“问题”是什么,请向我解释这些是什么: 实时字节 - #living - #Transitory - 总体字节 - # 总体
我要感谢这个网站提供的所有信息,因为没有它我永远不会走这么远
【问题讨论】:
标签: ios xcode memory-management uitabbarcontroller