Game bật càng lâu thì bộ nhớ dùng càng tăng, game chậm dần rồi cuối cùng bị tắt cưỡng bức.
Vì sao Texture, UI, hiệu ứng không được giải phóng khi chuyển qua lại giữa các bản đồ → Dẫn đến GC chạy dày hơn, OS thiếu bộ nhớ nên phải dùng swap → Trên màn hình Sau vài giờ chơi, game giật khựng ngày càng nhiều rồi bị tắt cưỡng bức (người chơi thấy giống mất kết nối)
Phụ trách chính Phát triển client (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Đo mức dùng bộ nhớ mỗi lần chuyển bản đồ, tìm và sửa texture, UI, hiệu ứng không được giải phóng, chạy test tự động dài giờ (soak test).
Trên đồ thị
Tăng dần · Bộ nhớ của tiến trình game
Chỗ cần xem
Ghi Process(game)\Private Bytes bằng Performance Monitor trong vài giờ. Trên di động: lý do thoát (REASON_LOW_MEMORY) trong ApplicationExitInfo của Android và báo cáo jetsam của iOS
Đúng nếu
mỗi lần chuyển qua lại giữa các bản đồ, bộ nhớ tăng lên mà không giảm xuống; bật càng lâu thì giật khựng và bị tắt càng nhiều
Loại trừ nếu
bộ nhớ ổn định, chỉ bị rung khi bật lâu → “Mất độ chính xác thời gian kiểu float”
Cách kiểm tra
Kiểm tra ở môi trường phía người chơi
Tìm hiểu thêm
Điện thoại chủ yếu cầm cự bằng cách nén bộ nhớ. Nếu vẫn thiếu, OS tắt game ngay lập tức (văng game). Máy càng ít RAM thì càng bị tắt sớm.
Nguồn
Memory allocation among processesAndroid (Google) Android nén bộ nhớ vào zRAM để cầm cự, thiếu nữa thì low memory killer kết thúc tiến trình; ứng dụng đang hiện ở foreground bị tắt thì trông như crash
ApplicationExitInfoAndroid (Google) REASON_LOW_MEMORY: low memory killer của hệ thống đã kết thúc tiến trình ứng dụng (máy không hỗ trợ thì báo là REASON_SIGNALED, SIGKILL)