Chúng tôi xây dựng ứng dụng doanh nghiệp phức tạp bằng cách sử dụng KnockoutJS và phải đối mặt với hiệu suất kém đặc biệt là trong IE8. Ứng dụng có thể mất hơn 1 GB RAM và không bao giờ giải phóng bộ nhớ. Trong quá trình điều tra, chúng tôi phát hiện ra rằng KnockoutJS giữ tham chiếu đến các nút DOM và không bao giờ xóa nó. Điều này có thể được sao chép bằng cách sử dụng IESieve chống lại bất kỳ ví dụ KnockoutJS nào, chỉ xem việc sử dụng DOM trong khi chơi với ví dụ để thêm và xóa các nút DOM.KnockoutJS IE8 vấn đề hiệu suất và rò rỉ bộ nhớ
Có ai phải đối mặt với vấn đề này và có ý tưởng về cách làm việc này không?
Tôi chưa gặp sự cố này. Có thể đã xảy ra sự cố với ứng dụng của bạn. – Tyrsius
may mắn cho bạn, tuy nhiên có những người khác nhau phàn nàn quá @ knockoutjs diễn đàn. Bạn có làm gì đặc biệt để điều trị IE8? –
Tôi không quen thuộc với Knockoutj nhưng tôi quen thuộc với phát triển dựa trên IE. Nếu Knockoutjs đang sử dụng các bao đóng javascript tham chiếu đến DOM, chúng có thể dẫn đến các tham chiếu lơ lửng dẫn đến hiệu suất kém và rò rỉ bộ nhớ. Để khắc phục những điều này, bạn có thể cần sửa đổi thư viện javascript. – Anthill