Framework原始化和退出(Java)

最終更新: 2023年1月26日

开启

使用CubismFramework.startUp函数设置记录相关选项。
如果不调用该函数,后面要执行的CubismFramework.initialize函数将不起作用。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Java
private LAppDelegate() {
currentModel = ModelDir.values()[0];
// Set up Cubism SDK framework.
cubismOption.logFunction = new LAppPal.PrintLogFunction();
cubismOption.loggingLevel = LAppDefine.cubismLoggingLevel;
CubismFramework.cleanUp();
CubismFramework.startUp(cubismOption);
}
private final CubismFramework.Option cubismOption = new CubismFramework.Option();
// Java private LAppDelegate() { currentModel = ModelDir.values()[0]; // Set up Cubism SDK framework. cubismOption.logFunction = new LAppPal.PrintLogFunction(); cubismOption.loggingLevel = LAppDefine.cubismLoggingLevel; CubismFramework.cleanUp(); CubismFramework.startUp(cubismOption); } private final CubismFramework.Option cubismOption = new CubismFramework.Option();
// Java
private LAppDelegate() {
    currentModel = ModelDir.values()[0];

    // Set up Cubism SDK framework.
    cubismOption.logFunction = new LAppPal.PrintLogFunction();
    cubismOption.loggingLevel = LAppDefine.cubismLoggingLevel;

    CubismFramework.cleanUp();
    CubismFramework.startUp(cubismOption);
}

private final CubismFramework.Option cubismOption = new CubismFramework.Option();

在参数中注册调试级别和调试函数。
原始化时,Cubism Core的版本信息通过调试函数如下进行显示。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[CSM][I]Live2D Cubism Core Version: 04.02.0001 (67239937)
[CSM][I]Live2D Cubism Core Version: 04.02.0001 (67239937)
[CSM][I]Live2D Cubism Core Version: 04.02.0001 (67239937)

原始化

完成CubismFramework.startUp函数后,调用CubismFramework.initialize函数。
请确保在应用程序中使用Framework前务必调用一次。
如果一次都不调用,则使用Framework时会出现错误。
如果您连续调用它们,处理将被忽略。
但是,在调用后文描述的CubismFramework.dispose函数并退出后,可以再次调用initialize函数并进行原始化。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Java
public void onSurfaceCreated() {
// 纹理采样设置
GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
// 透明设置
GLES20.glEnable(GLES20.GL_BLEND);
GLES20.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// Initialize Cubism SDK framework
CubismFramework.initialize();
// 着色器的原始化
view.initializeShader();
}
// Java public void onSurfaceCreated() { // 纹理采样设置 GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); // 透明设置 GLES20.glEnable(GLES20.GL_BLEND); GLES20.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Initialize Cubism SDK framework CubismFramework.initialize(); // 着色器的原始化 view.initializeShader(); }
// Java
public void onSurfaceCreated() {
    // 纹理采样设置
    GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    GLES20.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

    // 透明设置
    GLES20.glEnable(GLES20.GL_BLEND);
    GLES20.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    // Initialize Cubism SDK framework
    CubismFramework.initialize();

    // 着色器的原始化
    view.initializeShader();
}

退出

调用CubismFramework.dispose函数,将释放Framework分配的通用部分的资源。
请在调用CubismFramework.initialize函数之前不要调用它。
基本上,它在应用程序退出时调用。
例外情况是在内存记忆非常少的环境下,并且您不需要它或者您想要完全隔离工具库时,
可以通过调用此函数来释放资源,然后在下次使用时再次调用CubismFramework.initialize函数。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Java
public void onStop() {
view = null;
textureManager = null;
LAppLive2DManager.releaseInstance();
CubismFramework.dispose();
}
// Java public void onStop() { view = null; textureManager = null; LAppLive2DManager.releaseInstance(); CubismFramework.dispose(); }
// Java
public void onStop() {
    view = null;
    textureManager = null;
  
    LAppLive2DManager.releaseInstance();
    CubismFramework.dispose();
}
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。