Trong ứng dụng web tải lượng lớn dữ liệu bị treo khi vượt quá giới hạn nhất định. Vì vậy, tôi muốn tìm bộ nhớ được sử dụng bởi một tab chrome sử dụng javascript tức là bằng mã để ngăn chặn loại vấn đề này.Cách tìm bộ nhớ được tab chrome sử dụng bằng cách sử dụng javascript
Trả lời
Gần đây, chúng tôi đã gặp phải sự cố tương tự.
Bạn có thể sử dụng API hiệu suất web để kiểm tra phân bổ bộ nhớ hiện tại.
window.performance
Nó cho phép các trang web truy cập vào một số chức năng nhất định để đo hiệu suất của trang web. Có một tiện ích mở rộng không chuẩn chỉ có sẵn cho chrome để ghi lại thông tin bộ nhớ.
window.performance.memory
Nó sẽ trả lại thông tin sau cho bạn.
usedJsHeapSize
: tổng dung lượng bộ nhớ được sử dụng bởi các đối tượng JS bao gồm V8 đối tượng nội bộ,totalJsHeapSize
: kích thước hiện tại của heap JS bao gồm cả không gian trống không chiếm đóng bất kỳ JS đối tượng
Ngoài ra còn có một thư viện js có sẵn để ghi lại số liệu thống kê bộ nhớ. (https://github.com/spite/memory-stats.js)
Vui lòng kiểm tra điều này. Nó có thể giúp bạn. - https://developer.chrome.com/devtools/docs/javascript-memory-profiling
Cảm ơn câu trả lời ... tôi đã thử window.performance.memory nhưng giá trị của nó không thay đổi động .. Có điều gì để làm .. – SHANib
@SHANib: Chỉ cần cố gắng hiểu vấn đề chính xác. Ứng dụng web của bạn có bị lỗi khi tải trang không? Nếu có thì bạn nên xem số đối tượng (bao gồm cả loại) mà bạn đang tạo khi tải trang. Nếu không thì bạn nên cố gắng ghi lại phân bổ bộ nhớ heap bằng cách sử dụng window.performance.memory tại mỗi & mọi bước cho đến khi nó bị treo. Điều này sẽ cung cấp cho bạn hình ảnh tốt hơn về phân bổ bộ nhớ js của bạn. – biker
Ứng dụng của tôi không bị lỗi khi tải trang. Nhiều hoạt động/hành động đang hoạt động trong trang đó và điều đó gây ra sự cố. Vì vậy, tôi muốn kiểm tra xem trình duyệt có đạt được dung lượng định kỳ hay không và cần thông báo cho người dùng. t không phải để gỡ lỗi mà là cảnh báo cho người dùng – SHANib
đây từ source code of the chrome:
// Tạo các giá trị trở lại window.performance.memory chi tiết hơn và nhiều hơn nữa đến nay trong công nhân chia sẻ. Nếu không có cờ này, thông tin bộ nhớ vẫn có sẵn, nhưng nó được nhóm và cập nhật ít thường xuyên hơn. Lá cờ này cũng áp dụng cho người lao động. const char kEnablePreciseMemoryInfo [] = "cho phép-chính xác-bộ nhớ-thông tin";
Vì vậy, bạn cần cờ --enable-precise-memory-info
để có được kết quả năng động và chính xác hơn. Vì lý do bảo mật, Google Chrome không cung cấp thông tin chính xác qua performance.memory
theo mặc định. Bạn có thể xem tại đây https://github.com/paulirish/memory-stats.js/tree/master một cách hay để theo dõi bộ nhớ. Nhưng đây không phải là giải pháp tốt ngay cả khi bạn có quyền kiểm soát cách người dùng chạy "trang web". Bạn không thể chắc chắn Chrome sẽ gặp sự cố hoặc dữ liệu ở đâu chính xác.
Giải pháp đầu tiên là tạo số factory pattern toàn cầu tính tổng số đối tượng mới và có kích thước được xác định trước cho mỗi kích thước và khi kích thước đạt đến một số nhất định bạn có thể cảnh báo cho người dùng. Hãy cẩn thận theo cách đó bạn không tính các sự kiện bị ràng buộc. Bạn có thể thử và thêm các sự kiện trong cùng một nhà máy (hoặc một nhà máy khác) nhưng tôi không biết chính xác điều này sẽ như thế nào.
Giải pháp thứ hai và giải pháp tốt hơn là this example. Một ví dụ tuyệt vời, với 500.000 bản ghi có phản hồi nhanh và bộ nhớ thấp. Làm sao? Dễ dàng, chỉ cần tải dữ liệu mà người dùng nhìn thấy và không có gì khác. Khi người dùng cuộn nó tìm thấy dữ liệu phù hợp mà không tải tất cả các phần còn lại. Đó là một cái gì đó bạn có thể làm với một cái gì đó mà mất nhiều bộ nhớ.
- 1. Rò rỉ bộ nhớ trong Chrome bằng cách sử dụng Nhân viên được chia sẻ?
- 2. Cách tìm bộ nhớ sử dụng ứng dụng Android của tôi được viết C++ bằng NDK
- 3. jQuery hoặc javascript để tìm cách sử dụng bộ nhớ của trang
- 4. Cách tìm phần tử gốc bằng cách sử dụng javascript
- 5. angularjs tab bootstrap bằng cách sử dụng
- 6. Rò rỉ bộ nhớ bằng cách sử dụng socket.io
- 7. cách buộc liên kết được mở trong tab mới bằng cách sử dụng javascript
- 8. trang bộ nhớ đệm bằng cách sử dụng php
- 9. Cách lấy URL của tab hiện tại trong tiện ích mở rộng chrome của tôi bằng cách sử dụng javascript
- 10. Cách lấy Bộ nhớ được Chương trình Delphi sử dụng
- 11. Cách sử dụng bộ nhớ trong Swift
- 12. Rò rỉ bộ nhớ bằng cách sử dụng pandas dataframe
- 13. Mô phỏng bộ nhớ thấp bằng cách sử dụng C++
- 14. Sử dụng image.complete để tìm hình ảnh được lưu trong bộ nhớ cache trên chrome?
- 15. Cách sử dụng bộ nhớ đã được ghim/bộ nhớ được ánh xạ trong OpenCL
- 16. Sử dụng dịch vụ web bằng cách sử dụng Javascript
- 17. Sử dụng bộ nhớ của OSX bằng cách sử dụng Ruby
- 18. Cách sử dụng bộ nhớ trong Windows trong C++
- 19. Cách bộ nhớ được ánh xạ khi sử dụng nĩa?
- 20. Hạn chế sử dụng bộ nhớ của các phantomj bằng cách sử dụng selenium webdriver?
- 21. LinkedList - Cách giải phóng bộ nhớ được cấp phát bằng cách sử dụng malloc
- 22. đặt maxlength bằng cách sử dụng javascript
- 23. Mở tab mới bằng javascript nhưng vẫn ở trên tab hiện tại bằng cách sử dụng javascript
- 24. Làm thế nào để tìm rò rỉ bộ nhớ trong java bằng cách sử dụng JProfiler?
- 25. Tôi cần trợ giúp tìm rò rỉ bộ nhớ của mình bằng cách sử dụng MAT
- 26. chia chuỗi bằng cách sử dụng javascript
- 27. Tạo IFRAME bằng cách sử dụng JavaScript
- 28. Crash firefox bằng cách sử dụng JavaScript
- 29. Xoay (90deg) không được áp dụng bằng cách sử dụng .transform trong Chrome 37
- 30. Cách mở liên kết trong tab mới bằng cách sử dụng javascript
_ "Trong ứng dụng web tải lượng lớn dữ liệu bị treo khi vượt quá giới hạn nhất định" _ Dữ liệu được tải vào tài liệu như thế nào? – guest271314
@ guest271314 Chúng tôi đang tìm nạp dữ liệu trực tiếp từ các nguồn khác nhau phía sau màn hình..Thông qua javascript/ajax – SHANib
Có, tại sao tab trình duyệt bị lỗi? Yêu cầu ajax có nằm trong vòng lặp không? – guest271314