Thông tin chi tiết về trò chơi có bộ nhớ thấp

Đôi khi, Android tắt (hoặc chấm dứt) các trò chơi hàng đầu, có độ trung thực cao khi thiết bị thiếu bộ nhớ. Android cố gắng sử dụng tất cả bộ nhớ có sẵn để lưu các ứng dụng và trò chơi vào bộ nhớ đệm nhằm đảm bảo chúng tải nhanh (cải thiện trải nghiệm người dùng), nhưng khi bộ nhớ bị hạn chế, hệ thống sẽ tắt các ứng dụng và trò chơi tốn bộ nhớ nhất để giải phóng bộ nhớ cho hoạt động bình thường của thiết bị.

Sau đây là thông tin, thông tin chi tiết và các phương pháp hay nhất giúp bạn sử dụng bộ nhớ trò chơi hiệu quả hơn

  • Sử dụng ApplicationExitInfo – API Java/Kotlin này trả về lý do tại sao hệ thống Android loại bỏ trò chơi chạy trước đó. Sử dụng ApplicationExitInfo để kiểm tra xem bộ nhớ thấp có phải là nguyên nhân khiến quy trình trước đó bị không hay không. Kiểm tra xem trò chơi có bị tắt do bộ nhớ thấp hay không để có thể tối ưu hoá trò chơi nhằm sử dụng ít bộ nhớ hơn trên thiết bị đó.
  • Xem xét tổng RAM thực – Để tránh tình trạng trò chơi bị tắt khi chạy ở nền trước và để phù hợp với các tính năng của thiết bị, hãy xem xét tổng dung lượng RAM thực và điều chỉnh mức sử dụng bộ nhớ của trò chơi dựa trên dữ liệu đó. Nếu mục tiêu là ngăn ứng dụng bị tắt ngay sau khi chuyển sang chế độ nền (để cho phép người chơi làm nhiều việc cùng lúc), hãy sử dụng lệnh gọi lại cắt bớt (cụ thể là TRIM_MEMORY_UI_HIDDEN) để giảm mức sử dụng bộ nhớ trò chơi.
  • Không đăng ký các lệnh gọi lại cắt không dùng nữa – Android không có bất kỳ API nào để phát hiện các sự kiện áp lực bộ nhớ gốc khi các sự kiện này sắp đạt đến giới hạn bộ nhớ (xem chú thích Low Memory killer daemon (trình nền đóng các hoạt động để đóng bộ nhớ gốc). Lệnh gọi lại cắt bớt không hữu ích trong việc ngăn chặn việc bị tắt do bộ nhớ thấp, vì vậy, Android đã ngừng sử dụng tất cả các lệnh gọi lại đó, ngoại trừ TRIM_MEMORY_UI_HIDDENTRIM_MEMORY_BACKGROUND.

Trình nền đóng các tiến trình ít cần thiết khi còn ít dung lượng

Trình nền tắt ứng dụng khi bộ nhớ thấp của Android (lmkd) là một quy trình theo dõi trạng thái bộ nhớ của hệ thống Android đang chạy và phản ứng với áp lực bộ nhớ cao bằng cách tắt các quy trình ít thiết yếu nhất để duy trì hiệu suất của hệ thống ở mức chấp nhận được.

Trình nền có thể chọn các quy trình cần loại bỏ mà không cần chờ quy trình xác nhận bất kỳ loại lệnh gọi lại nào. Do đó, ứng dụng và trò chơi sẽ không nhận được thông báo để có cơ hội cuối cùng giải phóng bộ nhớ trước khi bị tắt.

Tìm hiểu thêm về trình nền trình gỡ bỏ bộ nhớ thấp.