2012-02-03 30 views
6

Trong khi định hình ứng dụng iOS của tôi, tôi thực hiện một tác vụ đơn giản nhiều lần trong đó tôi đẩy và xem một khung nhìn từ ngăn xếp và sau đó chụp nhanh. Cùng một mã được thực thi mỗi lần và chế độ xem được đẩy chỉ chứa một số hình ảnh bị xóa ngay sau khi chế độ xem bị xuất hiện.Phân bổ iOS - số lượng liên tục trong heapshots không phải luôn luôn 0

screenshot of instruments

Bây giờ vì tính dai dẳng là 0 cho gần một nửa của heapshots, nó sẽ được an toàn để giả định không có bộ nhớ bị bỏ rơi?

Tôi đã nghe nói rằng các hàng có số lượng liên tục lớn hơn 0 có thể là do một số bộ nhớ đệm nội bộ.

Tôi đang sử dụng Xcode 4.2.1 và ứng dụng đang sử dụng ARC.

Edit:

Nhờ Kendall Helmstetter Gelner tôi đã quản lý để gỡ rối vấn đề này hơn nữa. Có lẽ tôi không nên sử dụng trình giả lập để gỡ lỗi này. Bây giờ tôi đã chạy nó trên thiết bị và nó bây giờ trông giống như có một đối tượng mà không bị phát hành:

Heapshots of app running on device

Sau khi xem xét thông qua việc xem chi tiết mở rộng Tôi nghĩ rằng tôi vừa về thấy Nguyên nhân của vấn đề.

+6

Đối với người vừa bỏ phiếu cho câu hỏi của tôi, bạn có thể ít nhất đã cho tôi câu trả lời! Tôi chắc chắn có những người khác ra có những người mới đến các dụng cụ và có cùng một câu hỏi. – RohinNZ

Trả lời

2

Thật khó để nói chỉ từ ảnh chụp màn hình những gì có thể được lưu trong bộ nhớ cache hay không - UIImage sẽ lưu vào bộ nhớ cache mọi thứ, có thể một số thành phần hệ thống khác. Dường như bạn có thể đang chạy trong trình mô phỏng, bạn đã thử heapshot trên thiết bị chưa?

Bạn cũng có thể chọn "Ẩn thư viện hệ thống" ở bên cạnh và hiểu rõ hơn về số lượng mã của riêng bạn.