Tôi có một dự án tải hình ảnh xuống dưới nền sử dụng NSOperationQueue
. Nó đã làm việc cho đến bây giờ trên các thiết bị với IOS 4.3. Tuy nhiên nếu tôi xây dựng các ứng dụng với sdk 4.3 cơ sở hoặc với 5 và chạy các ứng dụng trên thiết bị với IOS5, các ứng dụng bị treo. Khi ứng dụng được khởi chạy, nó sẽ thêm NSOperation
đối tượng vào hàng đợi để tải xuống hình ảnh. Nếu ở giữa tôi bấm lại nút, tôi hủy NSOperation
và nó bị treo và hiển thị sau dấu vết trên console:NSOperationQueue không hoạt động trong IOS5
#0 0x004727b7 in ____NSOQSchedule_block_invoke_0() #1 0x026a5618 in _dispatch_call_block_and_release() #2 0x026a7a10 in _dispatch_worker_thread2() #3 0x974bb781 in _pthread_wqthread() #4 0x974bb5c6 in start_wqthread()
và in "ResourceLoadOperation isFinished = YES mà không bị bắt đầu bởi hàng đợi đó là trong" Nếu tôi nhận xét cuộc gọi phương thức hủy, ứng dụng không bị lỗi. Có bất kỳ cập nhật nào về các thay đổi NSOperation
cho IOS5 không?
Tôi gặp vấn đề tương tự. Bình luận về việc phát hành đối tượng NSOperation làm cho thủ thuật, như bạn đã nói, nhưng tôi không chắc chắn rằng quản lý bộ nhớ là đúng trong trường hợp này ... –
Chỉ cần bình luận phương thức hủy có thể không đúng về mặt quản lý bộ nhớ. Nhưng đó có phải là một vấn đề về tốc độ xử lý trong ios 5 đang gây ra vấn đề này vì cùng một công trình tốt trên các thiết bị IOS 4.3? – CKT