2012-06-28 25 views
6

trên trang: onCreate called for two tabs each time one tab is selectedActionBarSherlock + ViewPager bộ nhớ đệm nhiều hơn sau đó chỉ cần trước/sau xem

có được giải thích như thế nào ABS (trên thực tế ViewPager) đang làm việc để cho ViewPager để có thể làm một cuộn. Rõ ràng là ít nhất một trang trước/tiếp theo cần phải được tạo cùng một lúc.

nó có thể sẽ được "bộ nhớ cache" nhiều hơn là chỉ trước/sau lần xem (Những mảnh vỡ), theo một cách:

  1. Tôi đang trên trang 1 và ở đó tôi có một cuộc gọi mạng để lấy một số dữ liệu (làm điều này trong hoạt động, không trong Fragment - btw là OK này.?)

  2. chuyển sang trang 2, và sau đó

  3. chuyển sang trang 3, và sau đó

  4. chuyển sang trang 1 = Dưới đây trang web của tôi được tái tạo (sử dụng một số bộ nhớ đệm mặc dù, NHƯNG, tôi không cần bất kỳ giải trí nếu có thể)

Vì vậy, nó sẽ được tốt đẹp để cache tất cả các trang. Làm thế nào để thực hiện điều này Nếu có thể trong phiên bản hiện tại (4), hoặc điều này sẽ là một số tính năng mới?

Hoặc thậm chí là câu hỏi hay hơn, cách trì hoãn/vô hiệu hóa việc hủy chế độ xem?

+0

Bạn đang nói về ViewPager, không ActionBarSherlock –

+0

Xin lỗi vì không chính xác ... – miroslavign

+0

Bạn có đề nghị tôi thay đổi câu hỏi, hoặc ... – miroslavign

Trả lời

23

Tôi cho rằng nó có thể có ích cho người khác, như chỉ trên trang web http://storkme.org/2011/12/tabs-done-right-viewpager-and-fragments/

Đã có một phương pháp cho phép bạn ấn định trước số trang "lưu trữ" các ViewPager sẽ tiết kiệm được từ tái tạo.

mViewPager.setOffscreenPageLimit(3); 

Cảm ơn Jake đã nhắc nhở tôi để thực hiện tìm kiếm G khác nhau :)

+0

Đây, thưa ngài, là thiên tài. – basilisk

+1

cảm ơn bạn đã chia sẻ giải pháp. –

+0

Điều này có thể được thực hiện ném một tài sản xml? – TrtG

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