Ứng dụng của tôi đã bị lỗi rất nhiều, vì những lý do mà tôi đang cố gắng hiểu. Nó không đến nỗi nó bị rơi - nó bị giết bởi một bên ngoài "Unknown" quá trình:Công cụ phân bổ các công cụ của Xcode bỏ lỡ một chút
Processes
Name <UUID> rpages recent_max [reason] (state)
test-app <....> 167111 167111 [per-process-limit] (frontmost) (resume)
tôi có thể hiểu rằng nếu tôi được phân bổ một khối lượng lớn các bộ nhớ, hoặc một zillion khối nhỏ hơn, nhưng tôi m không làm bất cứ điều gì thái quá. Profiling with Instruments cho tôi biết rằng ứng dụng chỉ sử dụng khoảng 8 MB, thỉnh thoảng tăng tốc lên đến 13 MB hoặc hơn khi tôi tải một số nội dung lớn. Không có rò rỉ nghiêm trọng, và ứng dụng thường bị giết rất nhanh.
Một đồng nghiệp bắt đầu sử dụng hoạt động Monitory để kiểm tra mức sử dụng bộ nhớ của ứng dụng trong khi chạy trong trình mô phỏng và nhận thấy bộ nhớ tăng vọt khoảng 70 MB (tôi đoán mọi thứ có chút khác biệt trong trình mô phỏng) lên tới 800 MB khi bắt đầu sử dụng một thư viện nhất định. Vì vậy, tôi bắt đầu profiling trong giả lập thay vì trên thiết bị. Các công cụ phân bổ tiếp tục báo cáo rằng các ứng dụng sử dụng MB 8-ish, nhưng VM Tracker kể một câu chuyện:
... Vì vậy, nó trông giống như VM Tracker có thể nhìn thấy một số sử dụng bộ nhớ đáng kể mà Phân bổ không phải là.
Tại sao công cụ Phân bổ thiếu 99% bộ nhớ mà ứng dụng này đang sử dụng?
Cập nhật: Trả lời câu hỏi nielsbot, tôi mất một cái nhìn sâu hơn về thông tin VM Tracker và phát hiện ra rằng phần lớn nhất của bộ nhớ mà tôi không nhìn thấy trong phân bổ là do Core Animation:
Tôi nghĩ rằng không gian ảo bao gồm những thứ như các khuôn khổ và chia sẻ bộ nhớ ánh xạ trong khi phân bổ có thể không ... – nielsbot
Bạn thấy gì trong hiển thị Vùng? (Nhấp vào Tóm tắt, chuyển sang Khu vực, sắp xếp theo Kích thước ảo, lớn nhất đến nhỏ nhất) – nielsbot
Trong thực tế - tôi nhận thấy ở đầu ra bạn đã dán vào câu trả lời của bạn, nó đề cập cụ thể "rpages" (trang thường trú). Tôi đoán bạn sẽ phải cố gắng giới hạn các trang thường trú của "khung nước" của khuôn khổ ... – nielsbot