Memory Advice API (API Thông báo bộ nhớ) là một API gốc thử nghiệm giúp các ứng dụng Android hoạt động trong giới hạn an toàn cho mức sử dụng bộ nhớ. Để làm được như vậy, API này ước tính lượng tài nguyên bộ nhớ đang sử dụng và thông báo cho ứng dụng khi vượt quá các ngưỡng nhất định. API này cũng có thể thông báo mức sử dụng bộ nhớ ước tính theo tỷ lệ phần trăm trực tiếp cho ứng dụng.
Thông tin ước tính mà API này cung cấp giúp xác định thời điểm ứng dụng cần điều chỉnh mức sử dụng bộ nhớ hoặc những điểm cần cải thiện trong các phiên bản ứng dụng trong tương lai. Bạn có thể điều chỉnh bất cứ yếu tố nào để thay đổi mức sử dụng bộ nhớ, chẳng hạn như giảm chi tiết và chất lượng của các thành phần hình ảnh, âm thanh.
Tài nguyên bộ nhớ ước tính bao gồm bộ nhớ heap gốc do Malloc phân bổ và bộ nhớ đồ hoạ do OpenGL ES API và Vulkan Graphics API phân bổ, nhờ đó, Memory Advice API trở nên phù hợp với trò chơi và các ứng dụng dùng nhiều đồ hoạ.
Các ước tính được đưa ra dựa trên những thông tin sau:
- Các chỉ số về thiết bị được API thu thập
- Dữ liệu máy học từ các thiết bị
- Kiểm thử trên thiết bị
Ở cấp độ API, Memory Advice API xác định một tập hợp trạng thái thông báo về bộ nhớ và thông báo cho ứng dụng thông qua một nhóm hàm.
Bắt đầu Làm quen với trò chơi Unity
Phân phối
Memory Advice API nằm trong Android Games Development Kit (AGDK) và được phân phối thông qua các kênh sau:
- Bản phát hành tệp nhị phân trong Thư viện Android Games Jetpack.
- Bản phát hành tệp nhị phân trên Trang tải xuống AGDK.
- Mã nguồn trên AOSP.
Đối với trò chơi, bạn phải sử dụng bản phát hành Memory Advice API đề xuất cho môi trường tạo bản dựng tương ứng. Đối với Android Studio, bạn nên sử dụng bản phát hành Jetpack. Đối với Android Game Development Extension (AGDE), bạn nên phát hành trên trang tải xuống AGDK.
Tính năng
Phần này mô tả về các tính năng của Memory Advice API.
Trạng thái bộ nhớ
API báo cáo các trạng thái bộ nhớ sau đây cho ứng dụng:
- MEMORYADVICE_STATE_OK
- MEMORYADVICE_STATE_APPROACHING_LIMIT
- MEMORYADVICE_STATE_CRITICAL
Để biết thêm chi tiết, vui lòng xem trang tham khảo memoryadvice_memorystate.
Báo cáo trạng thái bộ nhớ
API hỗ trợ báo cáo trạng thái bộ nhớ thông qua cơ chế thăm dò ý kiến hoặc cơ chế gọi lại:
Thăm dò ý kiến:
Ứng dụng có thể gọi API bất cứ lúc nào để truy xuất trạng thái bộ nhớ.Callback:
Ứng dụng có thể đăng ký một hàm callback qua Memory Advice API. Ứng dụng sẽ chỉ định tần suất gọi cho cuộc gọi lại. API sử dụng tần suất để xác định thời điểm thực thi lệnh gọi lại khi điều kiện bộ nhớ ứng dụng sắp đạt đến giới hạn an toàn hoặc sắp hết. Lệnh gọi lại không được gọi nếu điều kiện của bộ nhớ là an toàn. Lệnh gọi lại được thực thi trong chuỗi của chính nó, không phải từ một chuỗi của ứng dụng.
Những điều cần cân nhắc về phí tổn và tần suất gọi
Memory Advice API sử dụng thời gian điện toán để tạo trạng thái bộ nhớ. Chi phí sẽ khác nhau tuỳ theo thiết bị, nhưng thường trong khoảng từ 1 mili giây đến 3 mili giây cho mỗi cuộc gọi. Bạn nên xem xét chi phí này khi xác định tần suất thăm dò trạng thái bộ nhớ hoặc tần suất chỉ định cho lệnh gọi lại của trạng thái bộ nhớ.
Yêu cầu
Yêu cầu đối với thiết bị
- Android 4.4 (API cấp 19) trở lên.
Yêu cầu đối với ứng dụng
API chỉ hỗ trợ các ứng dụng gốc (ứng dụng chủ yếu được viết bằng C/C++).
API này chỉ hỗ trợ các thiết bị thực; không hỗ trợ trình mô phỏng.
Yêu cầu đối với phiên bản NDK
Bản phát hành Memory Advice API hỗ trợ hầu hết các phiên bản NDK, vui lòng tham khảo ghi chú phát hành để biết danh sách NDK được hỗ trợ.
Tài nguyên khác
- Ghi chú phát hành về Memory Advice API
- Tài liệu tham khảo về Memory Advice API
- Mẫu thông báo về bộ nhớ trên GitHub
- Mã nguồn Memory Advice API
Các sự cố và ý kiến phản hồi
Memory Advice API (API Thông báo bộ nhớ) đang ở giai đoạn thử nghiệm beta và chúng tôi hoan nghênh các ý kiến phản hồi. Nếu bạn có đề xuất hoặc phát hiện sự cố nào trong lúc sử dụng API này, hãy tạo một sự cố trong IssueTracker.