Nếu bạn khởi động AsyncTask bên trong một Hoạt động và bạn xoay thiết bị, Hoạt động sẽ bị hủy và một phiên bản mới sẽ được tạo.
Tương tự như vậy nếu người dùng điều hướng đến các hoạt động khác, hoạt động hiện tại sẽ bị phá hủy hoặc đi vào hoạt động nền stack và hoạt động mới sẽ ở tiền cảnh.
Nhưng AsyncTask sẽ không chết. Nó sẽ tiếp tục sống cho đến khi nó hoàn thành. Và khi nó hoàn thành, AsyncTask sẽ không cập nhật giao diện người dùng của Hoạt động mới. Thật vậy nó cập nhật các trường hợp trước đây của hoạt động đó không được hiển thị nữa. Điều này có thể dẫn đến một ngoại lệ của kiểu java.lang.IllegalArgumentException: View không được gắn vào trình quản lý cửa sổ nếu bạn sử dụng, ví dụ, findViewById để lấy một khung nhìn bên trong Activity.
Nguồn
2015-06-27 05:33:34
"khi nó hoàn tất, AsyncTask sẽ không cập nhật giao diện người dùng của Hoạt động mới Trên thực tế nó cập nhật các trường hợp trước đây của hoạt động mà không được hiển thị nữa." - Nếu hoạt động mới là ngắn ngủi, làm thế nào để giữ cho người già thể hiện của hoạt động còn sống? – Jaydev
@JaydevKalivarapu Đừng gọi kết thúc từ hoạt động cũ khi bắt đầu hoạt động mới. –
Trong trường hợp đó, khi tôi chuyển về hoạt động cũ bằng Intent, tôi sử dụng chính cá thể hiện tại? – Jaydev