Tôi không hoàn toàn hiểu được kinh doanh vòng đời mảnh vỡ này.Tại sao phân đoạn của tôi trênCreate được gọi rộng rãi bất cứ khi nào tôi trang thông qua ứng dụng của tôi viewPager?
Tôi có giao diện trang trình bày ngang trang ngang khá chuẩn 3 trang cho phần "chi tiết chế độ xem" của ứng dụng của tôi. Tôi bắt đầu ứng dụng của tôi trên trang giữa của ba. FragmentActivity tôi đặt trang để trang 1.
mPager.setCurrentItem(1); //default to center page, current data view fragment
Tôi đã sử dụng các FragmentStatePagerAdapter vì sử dụng FragmentPagerAdapter đâm ứng dụng của tôi vào những thời điểm, khi trở lại từ trạng thái lơ lửng ví dụ, và đây là cách nhanh nhất để làm việc xung quanh cho đến bây giờ. Dường như làm việc nhưng tôi nghi ngờ khía cạnh nhà nước là những gì có thể là nguyên nhân của vấn đề của tôi ở đây, có thể. Vì vậy, lúc đầu, tôi nghĩ rằng tôi sẽ có từng mảnh làm công việc nhận dữ liệu từ một dịch vụ còn lại và sau đó hiển thị nó trong một danh sách, nhưng tôi không chắc chắn nữa.
Tôi đã thử chạy tác vụ không đồng bộ duy nhất để tìm nạp dữ liệu trong từng phân đoạn trên sự kiệnCreateView. Sau đó, sau khi đọc thêm về vòng đời mảnh tôi chuyển sang onCreate, đã nhận thấy rằng onCreateView đã được gọi khá nhiều, do đó được tạo cho một ứng dụng tham lam quá thường xuyên yêu cầu dữ liệu qua dây.
Chuyển đổi thành onCreate đã không thay đổi gì. OnCreate vẫn nhận được gọi là nhiều như onCreateView cho 2 đoạn liền kề.
Điều kỳ lạ là đoạn mà tôi đặt là đoạn đầu tiên hiển thị trong Hoạt động phân đoạn chỉ nhận được onCreate được gọi là một lần.
Điều gì đó không cảm thấy ngay tại đây.
Hiện tại tôi đang nghĩ rằng tôi nên có hoạt động phân đoạn gốc khai báo và gọi tất cả các tác vụ không đồng bộ để tìm nạp dữ liệu mà tôi cần hiển thị trong các đoạn. Đặt kết quả của cuộc gọi không đồng bộ trong một đối tượng thuộc sở hữu của hoạt động phân đoạn gốc và sau đó có các đoạn sử dụng đối tượng được cha mẹ chứa để tạo chế độ xem danh sách, v.v.
Nhưng điều gì sẽ xảy ra nếu tác vụ async bắt đầu bởi cha mẹ hoạt động không hoàn thành trước mỗi mảnh onCreateView được gọi và đối tượng chứa của phụ huynh là chưa sẵn sàng .....
ký, bối rối và thất vọng
oh ya, nghe có vẻ hữu ích. vì vậy, hey, không bắn ra các nhiệm vụ không đồng bộ từ một đoạn onCreate có vẻ giống như một cách làm tiêu chuẩn? ngay bây giờ tôi bắn ra ba nhiệm vụ không đồng bộ riêng biệt khi hoạt động của tôi phân đoạn tải, đúng hay sai .... – topwik
Vâng, vấn đề duy nhất tôi có khả năng nhìn thấy là nếu người dùng xoay thiết bị khi AsyncTask đang chạy. Tuy nhiên, tôi không có nhiều kinh nghiệm với họ. Có thể đáng để kiểm tra lớp AsyncTaskLoader, tôi tin rằng các lớp Loader tự động hóa rất nhiều thứ cho bạn. –
Tôi cũng bị mắc kẹt trong vấn đề này. Bây giờ phải làm việc. Cảm ơn nhiều. – Durai