我幾乎和我的第一個應用程序完成的(很長的路要走,但有趣的時間)我想了一個星期,以減少我的應用程序的內存使用情況的內存減少我的應用程序
,但如果不工作,我想以確保它dealloc的使用後,但我看到,它沒有發生...
我沒有一個內存問題與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
的詳細畫面,被調用時選擇了某一行,它的一個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];
在此之後我有所述信息搜索結果添加到標籤並填充icarousel(具有最多6項)的功能,icarousel是,我添加作爲子視圖滾動型等一個UIView ..
當我推回導航欄並返回到主視圖控制器時,它不會釋放該視圖,爲什麼? (nslogged dealloc但從未被調用)。內存警告後,它調用ViewDidUnload,並使一些內存空閒,但仍然沒有dealloc ....
我沒有參考其他對象的權利?除了searchResult,但我把它設置爲弱,所以它不應該是一個參考權利?
一些信息:
在MAINVIEW搜索後我有:
直播字節:5.75 MB生活:27.342 Transistory:68.200總體 字節:25.30 MB
選擇一行後,進入detailsViewController我有:
直播字節:5.4 MB 生活:32.498 Transistory:76.488 總字節:29.55 MB
拖動icarousel的子視圖行(看照片)後:
直播字節: 5.5 mb 居住:32.798 過境:122.850 總字節數:36。41 MB
自定義表視圖中選擇一些表
直播字節後:5.7 MB 生活:33.508 Transistory:161.80 總字節:40.12 MB
開盤後在應用中的鏈接並返回(在模式視圖中打開並將其解除)
個直播字節:6.7 MB 生活:43.821 Transistory:371.761 總字節:144.95 MB
點擊圖片和拍出的照片在全屏和detailscreenview再次回來後(打開模態和解僱)
直播字節:6.76 MB 生活:43.798 Transistory:400.850 總字節:155.69 MB
如果我回去另一排它從來沒有得到少它只是增加了
不要是苦了我或者只是關閉的主題下沒有理由..
給我一些提示或建議,或者如果您不知道什麼是「問題」只是解釋我是什麼: 實時字節 - #生活 - #Transitory - 總體字節 - #總體
我想感謝這個網站的所有信息,因爲它有沒有它,我永遠不會到目前爲止
我沒有使用故事板...重構一切都是故事板是一個好主意嗎? – MichaelAngelo
@ user1876006不,沒有必要。但同樣的原則適用於NIB。如果你從A推到B,你只需要確保你永遠不會從B推到A,而是你從B推回到A.這是確保一個故事板沒有循環引用的邏輯等價物。我試圖澄清我的答案。 – Rob
我在appDelegate中添加的導航欄「使」後退按鈕,我假設這是彈出視圖或不? – MichaelAngelo