啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專(zhuān)注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號(hào) 掃一掃關(guān)注
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號(hào)

ios應(yīng)用內(nèi)存不足時(shí)如何獲得內(nèi)存警告消息?

百恒 2017-11-08 14:45:30 3569
? ? ? ?好的應(yīng)用應(yīng)該在系統(tǒng)內(nèi)存警告的情況下釋放一些可以重新創(chuàng)建的資源。在ios中,我們可以在應(yīng)用程序委托對(duì)象、視圖控制器以及其他類(lèi)中獲得系統(tǒng)內(nèi)存警告消息的。那么具體如何獲得呢?下面南昌APP開(kāi)發(fā)公司小編就來(lái)為大家介紹一下。?

? ? ? ?1、應(yīng)用程序委托對(duì)象?
? ? ? ?在應(yīng)用程序委托對(duì)象中接收內(nèi)存警告消息,需要重寫(xiě)applicationDidReceiveMemoryWarning:,方法如下:
? ? ? ?- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application?
? ? ? ?{ ? ??
? ? ? ?NSLog(@"AppDelegate中調(diào)用applicationDidReceiveMemoryWarning:");?
? ? ? ?}?

? ? ? ?2、視圖控制器
? ? ? ?在視圖控制器中接收內(nèi)存警告消息,需要重寫(xiě)didReceiveMemoryWarning方法,具體方法如下:
? ? ? ?- (void)didReceiveMemoryWarning?
? ? ? ?{ ? ??
? ? ? ?NSLog(@"ViewController中didReceiveMemoryWarning調(diào)用"); ? ??
? ? ? ?[super didReceiveMemoryWarning]; ? ??
? ? ? ?//釋放成員變量 ? ??
? ? ? ?[_listTeams release];?
? ? ? ?}?
? ? ? ?注意,釋放資源代碼應(yīng)該放在[super didReceiveMemoryWarning]語(yǔ)句后面。?

? ? ? ?3、其他類(lèi)?
? ? ? ?在其他類(lèi)中可以使用通知。在發(fā)生內(nèi)存警告時(shí),iOS系統(tǒng)會(huì)發(fā)出UIApplicationDidReceiveMemoryWarning- Notification通知,凡是在通知中心注冊(cè)了該通知的類(lèi)都會(huì)接收到內(nèi)存警告通知,具體方法如下:?
? ? ? ?- (void)viewDidLoad?
? ? ? ?{ ? ??
? ? ? ?[super viewDidLoad]; ?
? ??
? ? ? ?NSBundle *bundle = [NSBundle mainBundle]; ? ??

? ? ? ?NSString *plistPath = [bundle pathForResource:@"team" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ?ofType:@"plist"]; ? ??


? ? ? ?//獲取屬性列表文件中的全部數(shù)據(jù) ? ??

? ? ? ?NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath]; ? ??

? ? ? ?self.listTeams = array; ? ??

? ? ? ?[array release]; ?
? ??
? ? ? ?//接收內(nèi)存警告通知,調(diào)用handleMemoryWarning方法處理 ? ??
? ? ? ?NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; ? ??
? ? ? ?[center addObserver:self ? ? ? ? ? ? ? ?

? ? ? ?selector:@selector(handleMemoryWarning) ? ? ? ? ? ? ? ? ? ?

? ? ? ?name:UIApplicationDidReceiveMemoryWarningNotification ? ? ? ? ? ? ? ? ?

? ? ? ?object:nil]; ?
? ? ? ?}?
? ? ? ?//處理內(nèi)存警告?

? ? ? ?-(void) handleMemoryWarning?
? ? ? ?{ ? ??
? ? ? ?NSLog(@"ViewController中handleMemoryWarning調(diào)用");?
? ? ? ?}?

? ? ? ?在上述代碼中,我們?cè)趘iewDidLoad方法中注冊(cè)UIApplicationDidReceiveMemoryWarningNotification消息,接收到報(bào)警信息后調(diào)用handleMemoryWarning方法。這些代碼完全可以寫(xiě)在其他類(lèi)中,直接在ViewController中重寫(xiě) didReceiveMemoryWarning方法就可以了。

? ? ? ?在此,南昌APP開(kāi)發(fā)公司小編要提醒大家的是,內(nèi)存警告在設(shè)備上并不經(jīng)常出現(xiàn),一般我們沒(méi)有辦法模擬,但模擬器上有一個(gè)功能可以模擬內(nèi)存警告。啟動(dòng)模擬器,選擇“硬件”→“模擬內(nèi)存警告”模擬器菜單,這時(shí)我們會(huì)在輸出窗口中看到內(nèi)存警告發(fā)生了,具體如下所示:?

? ? ? ?2017-11-07 15:58:51.032 MemoryLeakSample[1396:41574] Received memory warning.?
? ? ? ?2017-11-07 15:58:51.033 MemoryLeakSample[1396:41574] AppDelegate中調(diào)用applicationDidReceiveMemoryWarning:?
? ? ? ?2017-11-07 15:58:51.034 MemoryLeakSample[1396:41574] ViewController中handleMemoryWarning調(diào)用?
? ? ? ?2017-11-07 15:58:51.034 MemoryLeakSample[1396:41574] ViewController中didReceiveMemoryWarning調(diào)用

? ? ? ?以上便是小編為大家介紹的關(guān)于在ios中獲得內(nèi)存警告的幾個(gè)途徑,這樣用戶(hù)體驗(yàn)就更好了。百恒網(wǎng)絡(luò)專(zhuān)注于APP開(kāi)發(fā)、小程序開(kāi)發(fā)等服務(wù),十多年豐富經(jīng)驗(yàn),如有需要,我們隨時(shí)為您效勞!
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售后服務(wù) 售后服務(wù)
 
備案專(zhuān)線 備案專(zhuān)線
 
售后服務(wù) 售后服務(wù)
 
×