2011-07-20 25 views
5

tôi đang tìm kiếm những cách thức để tăng tốc độ tải và WebView Tôi đã xem qua WebSettings.setBlockNetworkLoads() được mô tả rất ngắn gọn trong tài liệu:"Chặn tất cả yêu cầu tải mạng" có nghĩa là gì?

Cho WebView để chặn tất cả các yêu cầu tải mạng.

Nhưng tôi không rõ ràng "tất cả yêu cầu tải mạng" là gì.

Có chặn hình ảnh tải, chẳng hạn như setBlockNetworkImage() không?

Nó có chặn những thứ khác không? (nếu vậy, nó chặn gì?)

+0

Tôi sẽ thử sử dụng nó và xem điều gì sẽ xảy ra. Chạy ACID hoặc Kongregate để xem liệu nó có chặn JavaScript hay Flash hay không. –

+1

@notverycreative Đó là câu trả lời rất sáng tạo và tôi * đang * bắt đầu thử nghiệm với điều này, nhưng tôi cũng đang tìm hiểu thuật ngữ **. Tôi có cảm giác rằng "yêu cầu tải mạng" có ý nghĩa đặc biệt giữa các chuyên gia web. (Tôi không phải là chuyên gia như vậy) – ef2011

Trả lời

2

Theo this code sample nó có nghĩa là "ngăn chặn WebView từ tải bên ngoài nguồn qua mạng ".

Tôi giải thích điều này là cho phép tải tài nguyên cục bộ (bộ nhớ cache, bộ nhớ) nhưng không qua mạng, thậm chí không phải là URL mà bạn chỉ định rõ ràng.

Vì vậy, như bạn đã quan sát, nó sẽ chặn mọi thứ, bao gồm cả hình ảnh.

+0

Nếu nó chặn tất cả mọi thứ, tại sao nó được khuyến khích như là một thay thế cho 'setBlockNetworkImage()'? Bạn có thể cung cấp một ví dụ sử dụng? – ef2011

1

Tôi chưa bao giờ sử dụng cài đặt cụ thể đó nhưng không có bất kỳ ngữ cảnh nào khác, tôi nghĩ rằng nó có nghĩa là phương thức tải.

WebView.loadData(String data, String mimeType, String encoding); 
WebView.loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl); 
WebView.loadUrl(String url); 
WebView.loadUrl(String url, Map<String, String> extraHeaders); 
+0

+1 cho nỗ lực đầu tiên để trả lời câu hỏi này. Tôi vừa thử cài đặt WebSettings.setBlockNetworkLoads (** true **) và NOTHING đang được tải từ URL được chỉ định, thậm chí không phải HTML! Điều đó có nghĩa là bạn có thể đúng, nhưng tại sao Google khuyên bạn nên sử dụng phương thức này thay vì setBlockNetworkImage()? – ef2011

1

Nó được sử dụng để ngăn WebView tải các trang khác. Vì vậy, nếu bạn cần hiển thị một trang nhưng không cho phép bất kỳ liên kết nào được nhấp trong trang được tải, thì hãy sử dụng trang này.

Tải trang, sau đó đặt cờ này thành true để làm việc này.

Tôi nghĩ vậy!

+0

+1 cho nỗ lực thứ 2 để trả lời câu hỏi này. Thật thú vị khi thấy rằng không ai thực sự chắc chắn về câu trả lời. Điều này nói gì về tài liệu? LOL – ef2011

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