Tôi hiện đang sử dụng iOS, nhưng câu hỏi cũng áp dụng cho Android. Tôi đang nhìn vào đồ thị bộ nhớ trong Xcode, và ứng dụng của tôi bị treo bất cứ khi nào nó đạt khoảng 240MB, tôi tin rằng iOS đang giết nó vì nó chiếm quá nhiều bộ nhớ.Bạn có thể kiểm soát mức sử dụng bộ nhớ trong Cordova như thế nào?
Tôi có thể liên tục gặp sự cố khi điều hướng giữa các trang trong ứng dụng. (Đó là một SPA, phía máy khách HTML rendering.) Nếu tôi ngừng điều hướng trong một phút, bộ nhớ sẽ giảm xuống còn 140MB.
Đây là cùng một trang trong OSX Chrome:
Trong trường hợp này, sau khi ngừng chuyển hướng, bộ nhớ không giảm trên riêng của nó. Thay vào đó, vách đá ở cuối biểu đồ là tôi nhấn nút thu gom rác thải (giảm xuống từ 170MB đến 60MB).
Làm cách nào để ngăn ứng dụng của tôi bị lỗi?
- Có tương đương với nút thu gom rác mà tôi có thể gọi bên trong Cordova không?
- Tôi có thể nhận iOS để cung cấp cho ứng dụng của tôi một khoản trợ cấp bộ nhớ lớn đặc biệt không?
- Nếu người dùng điều hướng giữa các trang X lần trong vòng một khoảng thời gian phút, tôi có thể đưa ra một màn hình time-out mà nói với họ rằng họ không thể sử dụng các ứng dụng cho phút tiếp theo trong khi đi thu gom rác thải XD
- Bất kỳ cách nào để giảm mức sử dụng bộ nhớ trên độ dốc lên, khi JS đang hiển thị HTML?
Ngoài ra, đây là biểu đồ Chrome có nút HTML - tăng trưởng tương ứng nhưng các nút vẫn ở cùng một bộ sưu tập rác sau cấp.
bạn có hồ sơ này trên iOS, đặc biệt là bị rò rỉ không? mà có vẻ như rất nhiều bộ nhớ khi bạn xem xét những gì còn lại cho các ứng dụng sau khi bộ nhớ đói iOS mất pound thịt trong thiết bị. Và tôi không biết cách nào để iOS phân bổ bộ nhớ bổ sung cho bạn, ngay cả đối với các ứng dụng 'gốc'. – YvesLeBorg
Sửa tôi nếu tôi sai, nhưng tôi tin rằng vì mọi thứ đang diễn ra trong UIWebView, việc lược tả trong devtools sẽ bắt được những thứ giống như trong hồ sơ iOS sẽ bắt được? Và kể từ khi đống đi xuống đường cơ sở sau khi thu gom rác thải, điều đó có nghĩa là không có rò rỉ? – Loren
duh, xấu của tôi. Tôi đã nhìn vào mã nguồn gốc iOS, và tìm thấy một cái gì đó kỳ lạ. Đăng câu hỏi trên github, sẽ quay lại với câu trả lời. – YvesLeBorg