Asynctask sẽ tiếp tục chạy. Asynctask có thể chết khi hệ điều hành Android cố gắng lấy lại bộ nhớ khi nó chạy thấp. Nếu bạn không quan tâm rằng nhiệm vụ không đồng bộ có thể không kết thúc, thì có lẽ điều này không quan trọng, nhưng đó là thực hành không tốt.
Ngoài ra, có thể khi tác vụ không đồng bộ chết tùy thuộc vào cách bạn lưu trữ/xử lý kết quả, bạn có nguy cơ cố gắng chỉnh sửa Hoạt động/đối tượng trong hoạt động đó không còn ở đó nữa, dẫn đến nullpointerexceptions và những điều xấu khác. thích hợp cách thực hiện việc này là bắt đầu một dịch vụ từ hoạt động của bạn và bắt đầu một asynctask từ dịch vụ. Bạn nên làm theo một trong những mẫu thiết kế được nêu trong bài nói chuyện này được đưa ra tại Google IO 2010:
Android REST Client Design Patterns
Đó nói chuyện thú vị nhưng rất khó để làm theo và đưa ra không có mã số, vì vậy đây là một hướng dẫn tốt mà tôi sử dụng để học công cụ này:
Downloading Data with Services
Ngoài ra, android sẽ quản lý một threadpool nhiệm vụ asynch cho bạn (tôi tin nó sẽ bắt đầu giết chúng khi bạn có nhiều hơn 5 trong quá trình của bạn), bạn không cần phải giết chúng. kiểm tra câu trả lời ở đây:
How AsyncTasks die
Nguồn
2011-10-04 22:11:55