2012-10-02 31 views

Trả lời

19

Nếu bạn có N trang, bạn có thể sử dụng setOffscreenPageLimit(N-1) để nó giữ tất cả các trang trong bộ nhớ.

+0

Làm việc như một sự quyến rũ. Chỉ là một câu hỏi, tại sao N-1? Điều đó cho thấy không có vấn đề gì, có một giải pháp cho mọi thứ! –

+0

Đối số cho bộ điều hợp biết bao nhiêu trang ở mỗi bên của trang hiện tại để giữ trong bộ nhớ. Ví dụ, nếu đối số là 2, thì nó sẽ giữ tới 5 trang trong bộ nhớ: trang hiện tại, hai trang ở bên trái và hai ở bên phải. – UgglyNoodle

+1

hoạt động như rất tốt.thanks guys – Suman

-1

Tôi không chắc đây là câu trả lời, nhưng toàn bộ khái niệm về bộ điều hợp (cũng cho danh sách/lưới, v.v.) là bạn không có tất cả Chế độ xem được tải vào bộ nhớ mọi lúc, nhưng chỉ thổi phồng những gì có thể nhìn thấy.

Suy nghĩ về một ListView với 10.000 mục, ứng dụng sẽ gặp sự cố nếu ứng dụng sẽ cố gắng tải tất cả.

Với HorizontalScrollView, bạn sẽ có tất cả lượt xem được tải vào bộ nhớ.

-5

Tôi nghĩ rằng không thể tải tất cả các trang tại một thời điểm.Bạn nên thiết kế lại mã của mình.

0

Tôi không chắc đây là câu trả lời, nhưng toàn bộ khái niệm về bộ điều hợp (cũng cho danh sách/lưới, v.v.) là bạn không có tất cả Chế độ xem được tải vào bộ nhớ mọi lúc, nhưng nó chỉ thổi phồng những gì có thể nhìn thấy được. Hãy suy nghĩ về một ListView với 10000 mục, ứng dụng sẽ sụp đổ nếu nó sẽ cố gắng tải tất cả.

Tài liệu nêu rõ rằng "setOffscreenPageLimit" có thể hữu ích và nhanh hơn nếu bạn biết số trang và nội dung bạn muốn hiển thị. Nếu bạn biết thông tin được hiển thị và nó không phải là trọng lượng nặng "setOffscreenPageLimit" sẽ thực sự cải thiện hiệu suất của bạn bởi vì lượt xem chỉ tăng một lần.