Làm quen với Memory Advice API (API Thông báo bộ nhớ) cho các trò chơi Unity

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 dùng trong quá trình cài đặt Unity, hãy xem 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. Để nhập trình bổ trợ, hãy nhấp vào Assets > Import Package > Custom Package (Tài sản > Nhập gói > Gói tuỳ chỉnh) rồi chọn tệp .unitypackage bạn đã tải xuống. Bạn cũng có thể nhấp đúp vào tệp .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ácbáo cáo các sự cố.