cc.game.restart()不好用,原生下是否有其它重启游戏的方法?

cc.game.restart() 为什么不好用,因为 内存初始的js对象都还在,没有释放。

是否有其它重启游戏的方法? 类似 location.reload() 这种初始的js对象都会释放的,干干净净的重启游戏

android 应用直接重启.这个问ai,能搞到大部分代码.
论坛也有应用重启的代码,但太久了,我就不知道哪里了.以前我参考过.

private static Handler handler = new Handler(Looper.getMainLooper());

public static void restartApp(@NonNull Activity activity) {
    try {
        String packageName = activity.getPackageName();

        // 创建系统Intent
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setPackage(packageName);

        // 设置标志
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

        // 添加重启标识
        intent.putExtra("RESTART_APP", true);
        intent.putExtra("RESTART_TIMESTAMP", System.currentTimeMillis());

        activity.startActivity(intent);
        activity.finish();

    } catch (Exception e) {
        e.printStackTrace();
        // 最后的备用方案
        restartAppForce(activity);
    }
}

/**
 * 强制重启 (最彻底,支持多次)
 */
public static void restartAppForce(@NonNull Activity activity) {
    try {
        // 先正常结束Activity
        activity.finish();

        // 延迟后强制结束进程并重启
        handler.postDelayed(() -> {
            try {
                // 获取应用包名
                String packageName = activity.getPackageName();

                // 使用PackageManager获取启动Intent
                Intent intent = activity.getPackageManager()
                        .getLaunchIntentForPackage(packageName);

                if (intent != null) {
                    intent.setFlags(0);
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.putExtra("RESTART_APP", true);
                    intent.putExtra("RESTART_TIMESTAMP", System.currentTimeMillis());

                    // 启动新Activity
                    activity.startActivity(intent);
                }

                // 结束当前进程
                Process.killProcess(Process.myPid());
                System.exit(0);

            } catch (Exception e) {
                e.printStackTrace();
            }
        }, 100);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

实测这样有效,不确定是否有什么风险