Tôi đang sử dụng các công cụ lần đầu tiên và tôi có một liên kết bộ nhớ trong những gì có vẻ như main.m. Làm thế nào tôi có thể nhắm mục tiêu vấn đề để sửa chữa nó? Im sử dụng ARC để nó làm tôi ngạc nhiên rằng có lỗi trong chính? Điều gì có thể dẫn đến điều này?Tôi bị rò rỉ bộ nhớ trong main.m, điều gì có thể dẫn đến nó?
Trả lời
Vụ rò rỉ là một hậu duệ của main
.
Sẽ rất khôn ngoan khi xem video WWDC về cách sử dụng rò rỉ wrt cụ, bạn có thể nhận được nhiều thông tin hơn về những gì bạn đã hiển thị.
Rò rỉ hiển thị nơi bộ nhớ bị rò rỉ được cấp phát, rò rỉ là do bản phát hành bị thiếu để không thể hiển thị, nó bị thiếu.
Một nguyên nhân phổ biến khi sử dụng ARC là chu kỳ lưu giữ. Có lẽ một tài sản đại biểu là mạnh thay vì hoặc yếu gây ra một chu kỳ giữ lại. Ví dụ: Object-A instantiates Object-B. Object-B khởi tạo Object-C với một thuộc tính mạnh. Object-C tạo ra một delegate thuộc tính mạnh trỏ đến Object-B. Object-A giải phóng Object-B nhưng Object-B không thể giải quyết vì Object-C vẫn có một con trỏ mạnh. Object-C không thể deallocate vì Object-B vẫn có một con trỏ mạnh đến nó. Tại thời điểm này, mỗi người giữ cho nhau từ deallocating - một chu kỳ giữ lại. Câu trả lời là Object-C nên có một điểm yếu đối với Object-B.
os nhiệm vụ của bạn để xem chi tiết và tìm đối tượng đang bị rò rỉ và sau đó tìm hiểu lý do tại sao nó không được phát hành. Điều này là khá nhiều lần.
- 1. View ViewScoped beans dẫn đến rò rỉ bộ nhớ
- 2. Tại sao bộ nhớ bị rò rỉ Python C của tôi bị rò rỉ?
- 3. NSNumber rò rỉ bộ nhớ có thể
- 4. Tôi có bị rò rỉ bộ nhớ trong Điều hướng WPF không?
- 5. Bạn có biết điều gì có thể gây rò rỉ bộ nhớ trong JavaScript không?
- 6. Bộ nhớ bị rò rỉ UIWebView?
- 7. Cụ giữ cho tôi bị rò rỉ bộ nhớ
- 8. iOS - Bộ nhớ bị rò rỉ AddressBook
- 9. DialogFragment rò rỉ bộ nhớ
- 10. Rò rỉ bộ nhớ AVAudioPlayer
- 11. Rò rỉ bộ nhớ Node.js?
- 12. Mẫu AJAX này có bị rò rỉ bộ nhớ không?
- 13. rò rỉ bộ nhớ CDialog trong VC10
- 14. Điều gì có thể gây rò rỉ phần xử lý?
- 15. CMSampleBufferRef rò rỉ bộ nhớ
- 16. Rò rỉ dữ liệu bị rò rỉ trong Safari (là: Rò rỉ bộ nhớ với canvas HTML5)
- 17. Rò rỉ bộ nhớ trong .NET
- 18. Express.js trên Node.js có bị rò rỉ bộ nhớ không?
- 19. BufferedImage.getGraphics() dẫn đến rò rỉ bộ nhớ, có khắc phục không?
- 20. Rò rỉ bộ nhớ CheckedListBox
- 21. cụ hiển thị rò rỉ trong main.m (Xcode 4.3.1)
- 22. Rò rỉ bộ nhớ trong mã webcam
- 23. Python - Rò rỉ bộ nhớ
- 24. Quartz: Rò rỉ bộ nhớ?
- 25. Rò rỉ bộ nhớ Javascript: Cây DOM bị tách
- 26. Rò rỉ bộ nhớ SharePoint
- 27. rò rỉ bộ nhớ Python
- 28. rò rỉ bộ nhớ trong Microsoft.FSharp.Control.Mailbox?
- 29. Rò rỉ bộ nhớ trong MapKit iOS8
- 30. Có thể `goto LABEL` gây rò rỉ bộ nhớ không?
Tôi thấy cảm ơn bạn, đó là những gì bị bệnh. Liên kết sẽ có hiệu ứng gì trên ứng dụng? Tôi đã thử nghiệm các ứng dụng trên cả sim và thiết bị trong một vài tuần và không có vấn đề gì cả. Có phải là một vụ đánh bom thời gian chờ đợi xảy ra? – DevC
Câu hỏi khác nhau. Một hoặc một vài rò rỉ nhỏ có thể chấp nhận được nếu chúng không phát triển với mức sử dụng. Xin lưu ý rằng ứng dụng của bạn có thể vẫn còn hoạt động trong một thời gian dài mà không cần khởi động lại do vẫn còn hoạt động trong nền. Nhưng tốt nhất là loại bỏ tất cả các rò rỉ, chúng là tất cả các lỗi lập trình. Cuối cùng, chạy máy phân tích và sửa tất cả các cảnh báo. – zaph
Cảm ơn bạn đã xóa thông tin đó, đó là lần duy nhất tôi bị rò rỉ, ngay khi bắt đầu ứng dụng nhưng kết thúc sau một vài giây mà không có bất kỳ tương tác người dùng nào. – DevC