2012-02-22 27 views
5

Tôi có mã có số lượng phân bổ hoạt động thấp (khoảng 5 MB theo Công cụ), nhưng lượng bộ nhớ hệ thống cao (trên 100 MB). Tôi biết mã không bị rò rỉ và tôi không thấy bất kỳ đột biến phân bổ nào sau khi tối ưu hóa một số, nhưng tôi vẫn gặp sự cố do lượng bộ nhớ sử dụng cao.Mức sử dụng bộ nhớ ảo cao + phân bổ thấp trên iOS

Tôi đã tìm kiếm và sử dụng công cụ theo dõi VM, xác nhận việc sử dụng bộ nhớ cao của tôi, nhưng tôi không biết cách giải quyết tình huống này. Tôi đang sử dụng càng ít bộ nhớ càng tốt, nó vẫn còn quá nhiều trên iPad 1 và tôi không có kiến ​​thức hoặc công cụ để tìm ra cách để hệ điều hành không đánh dấu quá nhiều bộ nhớ bị bẩn khi tôi không thực sự sử dụng nó. Nơi nào tôi đi từ đây?

Trả lời

0

Sử dụng công cụ Tiểu sử và chọn bộ nhớ + phân bổ. Nhấp vào trình theo dõi VM và chụp nhanh. Điều này dẫn đến một danh sách với việc sử dụng bộ nhớ ảo và bộ nhớ ảo thường trú trên mỗi loại đối tượng. Điều này sẽ cho bạn một dấu hiệu để tìm.

Tôi nghĩ rằng vấn đề phổ biến nhất là bạn có rất nhiều đối tượng được tự động phát hành nằm trong autoreleasepool. Liên kết sau giải thích thêm về cách xử lý autoreleasepools: How does the NSAutoreleasePool autorelease pool work?

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