5

Am sử dụng AsyncTask để tải hình ảnh trong hoạt động của tôiAsyncTask android với các hoạt động vòng đời

dòng chảy đi như thế này:

protected void onPreExecute() { 
     \\begin animation 
} 

protected IUpiResponse doInBackground(String... params) { 
     \\ download the image 
} 

protected void onPostExecute(IUpiResponse upiResponse) { 
     \\stop the animation 
} 

đến đây tất cả mọi thứ tốt đẹp, vấn đề bắt đầu nếu tôi đi đến nền trong khi asynctask đang hoạt động đôi khi tôi nhận được một nullpointer ngoại lệ trong hoạt ảnh dừng lại, vì các chế độ xem không còn hợp lệ (tôi đoán),

Tôi có thể kiểm tra trước hoạt ảnh dừng nếu hoạt động ở eground nhưng tôi thích tránh phương pháp này, tôi có thể làm gì khác?

+0

Bạn đã thử nó 'try {} catch {}'? –

+0

tôi đồng ý tôi có thể bắt ngoại lệ này, nhưng tôi thích tránh loại lừa này –

+0

là bạn chuyển sang hoạt động khác khi bạn truy cập vào onPostExecute() ?? –

Trả lời

2

tôi thích để tránh sự tiếp cận asyncTask và tải những hình ảnh trong một chủ đề đơn giản, mà cũng tiết kiệm cho họ để kiên trì lớp như hệ thống tập tin, và sau đó gửi một Intent,

Lưu ý: nếu hoạt động trong nền Intent (nếu bạn đăng ký và hủy đăng ký người nhận trong onResume và onPause như đã được thông báo) sẽ không nhận được để tránh trường hợp như vậy bên trong onResume bạn có thể kiểm tra xem có bản cập nhật nào đang chờ bạn

+0

Đây là siêu cheat/workaround/giải pháp giả mạo ..; ( – Ewoks

Các vấn đề liên quan