2011-12-07 20 views
14

Tôi gặp một vấn đề trong những ngày này. Tôi đang sử dụng một thư viện hình ảnh-bộ nhớ cache, nó hoạt động tốt nhưng cuối cùng tôi gặp vấn đề bộ nhớ và các ứng dụng chỉ cần bỏ chính nó (tôi đoán đó là bởi vì nó chỉ chạy ra khỏi bộ nhớ). Sau khi đọc mã nguồn từ thư viện hình ảnh-bộ nhớ cache, tôi thấy nó nói rằng khi có sự kiện cảnh báo bộ nhớ, nó sẽ phát hành tất cả các hình ảnh được lưu trữ (hình ảnh rất lớn). Có cách nào để tôi gửi sự kiện cảnh báo bộ nhớ đến thiết bị theo cách thủ công và trực tiếp không? Tôi đang sử dụng công cụ thiết bị xcode để đánh giá mức sử dụng bộ nhớ.Có cách nào để gửi Cảnh báo bộ nhớ tới thiết bị iPhone theo cách thủ công không?

Trả lời

14

Bạn có thể tự mô phỏng trong mô phỏng:

Hardware -> Simulate Memory Warning 

Bạn cũng có thể mô phỏng nó lập trình:

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

CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true); 
+0

http://stackoverflow.com/questions/2784892/simulate-memory-warnings-from-the-code-possible Đề cập đến một API không có giấy tờ cũng như – tapi

14

cảnh báo bộ nhớ có thể được sản xuất bằng cách gọi một phương pháp riêng của UIApplication. Nó hoạt động tốt trên iOS 6.1 và bên dưới

[[UIApplication sharedApplication]performSelector:@selector(_performMemoryWarning)]; 

GHI CHÚ: Xóa cuộc gọi chọn trước khi gửi ứng dụng lên iTunes, nếu không nó sẽ bị từ chối.

+1

DONOT quên xóa phần này trước khi gửi ứng dụng lên Apple, chỉ sử dụng nó để thử nghiệm, các ứng dụng khác khôn ngoan của bạn sẽ bị từ chối. – Zubair

+1

Điều này không có gì trong Xcode 5 với iOS 7 – daveMac

Các vấn đề liên quan