Tôi đã có tình huống mà chu kỳ tải và sau đó đóng một tài liệu ăn lên một vài Mb RAM. Bộ nhớ này không bị rò rỉ như một cái gì đó sở hữu nó và làm sạch nó khi thoát ứng dụng (Visual Leak Detector và công cụ Rò rỉ Mac hiển thị thỏa thuận về điều này). Tuy nhiên, tôi muốn tìm ra nơi nó đang diễn ra. Tôi giả định đó là một số loại bộ nhớ cache trong ứng dụng được phổ biến khi tài liệu tải nhưng không được giải phóng khi tài liệu được đóng lại. Tôi có thể sử dụng những phương pháp hoặc công cụ nào để tìm ra những phân bổ này đang được thực hiện ở đâu?Làm thế nào để tìm ra nơi bộ nhớ của tôi đang đi
UPDATE:
Tiếp theo bài của Hans Tôi đã thêm một vòng lặp để ứng dụng vào các tài liệu liên tục mở và đóng. Tôi thấy rằng có một bước nhảy ban đầu trong việc sử dụng bộ nhớ ('Private Bytes' như được báo cáo bởi Process Explorer) sau khi tải một vài tài liệu đầu tiên, nhưng sau đó nó không còn tăng lên mỗi lần. Vì vậy, điều này cho thấy rằng không có phân bổ mới, và sự gia tăng rõ ràng có thể là chủ yếu là do một vật phẩm của phân trang.
Tôi cũng đã xem xét kỹ hơn các công cụ trên mac, điều này rất hữu ích khi xem phân bổ đã xảy ra ở đâu: tạo một Công cụ bao gồm các công cụ Phân bổ và Rò rỉ, sau đó thêm ảnh chụp nhanh ở đầu và cuối của và trong danh sách Heapshots nó sẽ hiển thị tất cả các vùng phân bổ tương ứng với ảnh chụp nhanh cuối cùng. Điều này cho thấy rằng trên máy Mac phân bổ bộ nhớ là tăng nhưng đó là do bộ nhớ cache nội bộ như bản vẽ CoreGraphics, qua đó chúng tôi có ít quyền kiểm soát.
Nếu bạn mở/đóng mở/đóng mở/đóng, nó sẽ ăn thêm một vài Mb mỗi khi bạn mở/đóng hoặc thực hiện nó chỉ đạt kích thước cố định sau lần thử đầu tiên. Ngoài ra, làm thế nào bạn đo được bộ nhớ được sử dụng? –