Khi ứng dụng đi vào trạng thái chạy nền, có bao nhiêu thao tác sử dụng bộ nhớ bẩn tốt. Trong video táo nó đề cập rằng bộ nhớ bẩn nên được giảm càng nhiều càng tốt.iOS4 - chuyển ngữ cảnh nhanh
Nhưng trong ứng dụng của tôi, tôi đang sử dụng bộ điều khiển điều hướng để đẩy và bật chế độ xem. Sau khi di chuyển từ khoảng 20 trang khác nhau, dung lượng bộ nhớ bẩn đạt đến 30 MB hoặc hơn.
Cũng trên "dismissModalViewControllerAnimated" và "popViewControllerAnimated", dealloc không được gọi.
Tôi đã hai nghi ngờ:
- Với bao nhiêu bộ nhớ bẩn là có thể chấp nhận để đi tiếp?
- Bộ điều khiển điều hướng thay thế để hỗ trợ nút quay lại là gì?
Xin cảm ơn trước.
1. Không phải 30MB. Các thiết bị iOS cũ hơn chỉ có ram 128MB, vì vậy ứng dụng của bạn sẽ lấp đầy khoảng 23% ... 2. Nếu bạn thực sự bị rò rỉ 30MB, có thể bạn không phát hành thứ gì đó, ở đâu đó, nó không phải là 'UINavigationController' ' s lỗi. –
Xin chào Douwe, Cảm ơn bạn đã trả lời. Tại sao tôi nghi ngờ về UINavigationController bởi vì, tôi tiếp tục đẩy bộ điều khiển xem trong đó.Và khi tôi bật các contollers xem từ bộ điều khiển điều hướng, phương thức dealloc không được gọi là nơi tôi giải phóng các biến cá thể được xác định. Và bộ nhớ không bị xóa bởi tất cả các biến mẫu này. Tôi có làm gì sai không? Tôi có phải xóa các biến mẫu ở một nơi khác và không phải trong dealloc? – Sunil
Bạn có bất kỳ tham chiếu nào khác cho bộ điều khiển chế độ xem của mình, ở nơi khác trong ứng dụng của bạn không? Nếu bạn đang popping chúng, nhưng vẫn có một tài liệu tham khảo ở một nơi khác để điều khiển, nó sẽ không nhận được GCed – blueberryfields