Memory Advice API là một API gốc 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 sẽ ướ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ể trực tiếp thông báo cho ứng dụng mức sử dụng bộ nhớ ước tính theo tỷ lệ phần trăm.
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 sau này. 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 và âm thanh.
Tài nguyên bộ nhớ ước tính bao gồm bộ nhớ khối xếp gốc do Malloc phân bổ và bộ nhớ đồ hoạ do API đồ hoạ của OpenGL ES và Vulkan phân bổ, nhờ đó, Memory Advice API là lựa chọn lý tưởng cho các trò chơi và ứng dụng nặng phần đồ hoạ.
Giá trị ướ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ông tin chi tiết, hãy xem trang tài liệu tham khảo về 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 tùy 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 bộ nhớ trên GitHub
- Mã nguồn Memory Advice API
Vấn đề và ý kiến phản hồi
Chúng tôi rất mong nhận được ý kiến phản hồi về Memory Advice API. Nếu bạn có đề xuất hoặc phát hiện vấn đề nào trong khi sử dụng API này, hãy tạo vấn đề trong IssueTracker.