IOS-內存檢測以及優(yōu)化
PS:開始寫這個系列的筆記:主要是對過去自己比較模糊的一些概念進行測試,明確結果,提高自己
IOS 應用如果占用系統的內容過大(8GB),就會造成應用直接被系統以崩潰的形式關閉,一次控制應用占用的內存大小是非常重要的事情。
現在我們來看看,一個空的應用占據的內容的大?。?/div>
測試環(huán)境:xCode 5.0/IOS 5
啟動一個空應用,占用的內存為 2.6MB,占據應用崩潰的閥值為 0.03%
1:關于導航條的 Push和popup的測試結果
[self.navigationController pushViewController:m_navanimated:YES];
[self.navigationController popViewControllerAnimated:YES];
對于
pushViewController ,會將對應的ViewController對象的引用計數器+1
popViewControllerAnimated 會將對應的ViewController對象的引用計數器-1
但是有一點需要明確的是,對于函數
-(void)dealloc
{
//Objects release here
[super deallco];
}
只有在該引用計數器的值==0的時候才會調用,這個是必須牢記的。
在執(zhí)行函數[self.navigationController popViewControllerAnimated:YES];的時候,如果彈出的ViewController對應的引用計數器為0,那么也會執(zhí)行dealloc 函數。
所以再使用
[self.navigationController pushViewController:m_navanimated:YES];
[self.navigationController popViewControllerAnimated:YES];
棧函數對的時候,為了釋放內存,我們可以這么使用
Nav_1 *m_nav = [[[Nav_1 alloc] initWithNibName:nil bundle:nil] autorelease];
[self.navigationController pushViewController:m_nav animated:YES];
這樣就最大限度的節(jié)省了寶貴的內存空間
posted on 2014-08-04 09:56 順其自然EVO 閱讀(420) 評論(1) 編輯 收藏 所屬分類: 測試學習專欄
評論
# re: IOS-內存檢測以及優(yōu)化[未登錄] 2014-10-15 16:45 Andy
最后Nav_1 *m_nav = [[[Nav_1 alloc] initWithNibName:nil bundle:nil] autorelease];
[self.navigationController pushViewController:m_nav animated:YES];
這樣就節(jié)省了內容,是什么原因,沒看懂 回復 更多評論
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||