Skip to content

createRuntime

创建运行时实例

该方法用于初始化游戏运行所需的底层环境(Runtime)。在整个应用进程生命周期内,通常只需要创建一个运行时实例。该实例负责管理游戏执行时的核心资源和调度逻辑。


方法声明

java
/**
 * Create a runtime instance
 *
 * @param context  Context
 * @param options  Optional parameters
 * @param listener Callback listener
 */
public static void createRuntime(Context context, final Bundle options, SUDRT.RuntimeCreateListener listener);

参数说明

参数名类型必传描述
optionsBundle运行时的自定义配置参数(如渲染模式、资源路径自定义等)。传 null 则使用默认配置。
listenerSUDRT.RuntimeCreateListener异步创建完成后的回调

SUDRT.RuntimeCreateListener

  • void onSuccess(SUDRT runtime):创建成功,返回的runtime可用于加载core以及创建游戏Handle
  • void onFailure(Throwable throwable):创建失败

运行行为

  1. 单例性质:虽然方法名为 create,但在单进程架构下通常只维护一个 Runtime 实例。
  2. 异步准备:由于运行时环境可能涉及底层库加载或 GPU 环境初始化,因此通过 listener 异步告知结果。
  3. 依赖关系:必须在 listener.onSuccess: 成功之后调用。

代码示例

java
SUDOP.createRuntime(context, null, new SUDRT.RuntimeCreateListener() {
    @Override
    public void onSuccess(SUDRT runtime) {
        // 返回的runtime可用于loadCore及createGameHandle等操作
    }
    @Override
    public void onFailure(Throwable error) {
    }
});

注意事项

  • 生命周期:Runtime 实例通常由 SDK 内部托管,开发者获取到的 id<SUDRT> 主要用于确认环境就绪状态或执行底层调试。
  • 重复创建:如果 Runtime 已经存在,再次调用此方法通常会直接返回已有的实例或报错,具体取决于 SDK 的内部策略。
  • 线程约束:建议在主线程发起创建请求,回调通常也在主线程执行。