2012-02-11 62 views
0

有沒有辦法做到這一點?如果是這樣,在模擬器和/或真實設備中運行應用程序時如何以及如何完成?運行儀器時模擬內存警告?

是否有另一種方法來測試樂器中對內存警告的響應?

回答

1

就設備而言,據我所知,產生內存警告的唯一方法實際上是創建內存不足的情況。你可以通過分配一大塊內存並在幾秒後釋放它(不要忘記釋放它)。 這可能看起來像一個黑客,但是產生低內存條件的最可靠的方法。

關於模擬器,正如您可能知道的那樣,在模擬器中運行您的應用程序時,使用Instruments檢查內存/性能問題並不完全可靠。無論如何,如果你想做到這一點,你可以嘗試發送此通知:

- (void)simulateMemoryWarning 
{ 
#if TARGET_IPHONE_SIMULATOR 
    #ifdef DEBUG 
    CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true); 
    #endif 
#endif 
} 

Source

也要記住,模擬器已經拿到了「硬件/模擬內存警告」命令。

+0

我發現它最適合從一個計時器調用它,所以我可以手動設置所需的應用程序狀態,然後發送內存警告。 – bneely 2012-02-11 17:56:54

1

通過進入菜單並選擇:硬件>模擬內存警告,您可以在運行iPhone模擬器時模擬內存警告,即使在運行儀器期間也可以隨時完成。