Tôi hiện đang phát triển một số Ứng dụng Android trong một nhóm và chúng tôi đã sử dụng 2 phương pháp tiếp cận khác nhau trong những tháng cuối cùng (một trong những cá nhân tôi đã đặt trước và người khác mà nhà phát triển khác thích).Android: Đề xuất AsyncTask: lớp riêng tư hoặc lớp học công khai?
Mặc dù cho đến nay các kết quả đều giống nhau, điều này đã cho tôi tự hỏi ... nên chúng tôi:
- AsyncTasks sử dụng như các lớp học riêng bên trong hoạt động sử dụng chúng.
- hoặc sử dụng AsyncTasks như các lớp học nào riêng biệt mà nhận bối cảnh hoạt động
Are bất kỳ phương pháp tiếp cận khuyến cáo của Google?
Kinh nghiệm của bạn nói gì về điều này (ưu điểm, nhược điểm, vấn đề)?
Sau một thời gian sử dụng chúng dưới dạng các lớp công khai riêng biệt, tôi thấy rằng nó hữu ích hơn nhiều. – neteinstein
@NeTeInStEiN - Đối với AsyncTask, một lớp bên trong (so với lớp tĩnh lồng nhau) luôn sai vì lý do kỹ thuật: một Activity có thể bị hủy bỏ (do, thay đổi cấu hình) mà không dừng AsyncTask. Nếu AsyncTask là một lớp bên trong, điều này sẽ làm rò rỉ Activity cũ vì AsyncTask sẽ có một tham chiếu (ẩn) đối với cá thể lớp bên ngoài. Một vài thay đổi định hướng của điện thoại sau đó sẽ khiến quá trình chết do kiệt sức của bộ nhớ. –