Hướng dẫn này mô tả cách sử dụng trình bổ trợ Memory Advice (Thông báo bộ nhớ) cho Unity để tích hợp Memory Advice API (API Thông báo bộ nhớ) vào trò chơi Unity.
Yêu cầu
Trình bổ trợ này được hỗ trợ trên:
Unity 2019 có Android NDK r19
Unity 2020 có Android NDK r19
Unity 2021 có Android NDK r21
Unity 2022 có Android NDK r23
Bạn có thể gặp sự cố không mong muốn nếu sử dụng các phiên bản khác của Unity và Android NDK. Để tìm phiên bản NDK mà quá trình cài đặt Unity của bạn sử dụng, hãy xem thời gian Hướng dẫn thiết lập môi trường Android cho Unity.
Tải trình bổ trợ xuống
Tải trình bổ trợ xuống.
Nhập trình bổ trợ
Trình bổ trợ là một Gói Unity mà bạn có thể nhập vào dự án của mình. Cách nhập
trình bổ trợ, hãy nhấp vào Thành phần > Nhập gói > Custom Package (Gói tuỳ chỉnh) rồi chọn
Bạn đã tải .unitypackage
tệp xuống. Bạn cũng có thể nhấp đúp vào
.unitypackage
sau khi mở dự án Unity.
Sử dụng thư viện
Phần này mô tả cách sử dụng thư viện.
Khởi chạy thư viện
Bạn cần khởi chạy thư viện một lần khi ứng dụng khởi động. Để làm vậy, hãy thêm mã dưới đây vào dự án của bạn:
void Start()
{
MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory advice init successfully");
}
}
Thăm dò trạng thái bộ nhớ
Bạn có thể truy xuất trạng thái bộ nhớ của ứng dụng bằng cách thăm dò thư viện theo khoảng thời gian bạn chọn. Hãy dùng hàm MemoryAdvice_getMemoryState bất cứ khi nào bạn cần thăm dò ý kiến về thư viện:
MemoryState memoryState = MemoryAdvice.GetMemoryState();
switch (memoryState)
{
case MemoryState.Ok:
//The application can safely allocate memory.
break;
case MemoryState.ApproachingLimit:
// The application should minimize memory allocation.
break;
case MemoryState.Critical:
// The application should free memory as soon as possible
// until the memory state changes.
break;
}
Thiết lập trình theo dõi
Bạn cũng có thể thiết lập một trình theo dõi (watcher) và đăng ký Memory Advice API (API Thông báo bộ nhớ), đồng thời hàm theo dõi sẽ được gọi khi trạng thái sắp đạt đến giới hạn hoặc trạng thái bộ nhớ nghiêm trọng (nhưng không áp dụng cho trạng thái ok). Ví dụ: mã sau đây tạo ra một trình theo dõi và yêu cầu Memory Advice API (API Thông báo bộ nhớ) thông báo 2 giây một lần:
MemoryAdviceErrorCode errorCode = MemoryAdvice.RegisterWatcher(2000,
new MemoryWatcherDelegateListener((MemoryState state) =>
{
switch (memoryState)
{
case MemoryState.ApproachingLimit:
// The application should minimize memory allocation.
break;
case MemoryState.Critical:
// The application should free memory as soon as possible
// until the memory state changes.
break;
}
})
);
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory Advice watcher registered successfully");
}
Các bước tiếp theo
Bạn có thể tải dự án mẫu của Unity xuống. Dự án này cung cấp một giao diện người dùng đơn giản để phân bổ và giải phóng bộ nhớ, đồng thời sử dụng Memory Advice API (API Thông báo bộ nhớ) để theo dõi trạng thái bộ nhớ.
Vui lòng xem phần tổng quan để biết các tài nguyên khác và báo cáo các sự cố.