三国卡牌客户端基础资源仓库
yyl
2026-07-01 d36d9c25f9790e084814cf36a4395c9ef5a8d35f
错漏提交
1个文件已修改
8 ■■■■■ 已修改文件
Assets/Launch/AOTRefSort.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/AOTRefSort.cs
@@ -22,10 +22,18 @@
    // 阻止 IL2CPP 把排序调用当作无副作用而优化掉
    private static volatile int s_sink;
    // 运行时恒为 false(非 const,IL2CPP/裁剪器无法在编译期折叠),
    // 保证下面的排序调用被编进 AOT,但运行时绝不真正执行(避免 object 无 IComparable 抛异常)。
    private static bool s_run;
    // 由 Launch.StartGame 调用,防止 IL2CPP 裁剪
    [Preserve]
    public static void Ensure()
    {
        // 只为让 IL2CPP 把 EnsureSortable 的各实例化编进 AOT,不实际执行
        if (!s_run)
            return;
        // 引用类型:object 版本覆盖所有 class(含自定义类、string 等)
        EnsureSortable<object>(new object(), new object());