Unity's more detailed function execution order

public class GameLogic : MonoBehaviour
{
    
    
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
    private static void SubsystemRegistration()
    {
    
    
    	//子系统注册(可以理解为程序一启动的时候)
        Debug.Log("SubsystemRegistration");
    }
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
    private static void AfterAssembliesLoaded()
    {
    
    
    	// 程序集加载完成后
        Debug.Log("AfterAssembliesLoaded");
    }
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
    private static void BeforeSplashScreen()
    {
    
    
    	// Made With Unity 窗口之前
        Debug.Log("BeforeSplashScreen");
    }
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    private static void BeforeSceneLoad()
    {
    
    
     	// 场景加载之前
        Debug.Log("BeforeSceneLoad");
    }
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
    private static void AfterSceneLoad()
    {
    
    
    	// 场景加载之后
        Debug.Log("AfterSceneLoad");
    }
    private void Awake()
    {
    
    
        Debug.Log("Awake");
    }
    private void OnEnable()
    {
    
    
        Debug.Log("OnEnable");
    }
    private void Start()
    {
    
    
        Debug.Log("Start");
    }
    private void OnDisable()
    {
    
    
        Debug.Log("OnDisable");
    }
    private void OnDestroy
    {
    
    
        Debug.Log("OnDestroy");
    }
}

执行顺序为:
1、SubsystemRegistration
2、AfterAssembliesLoaded
3、BeforeSplashScreen
4、BeforeSceneLoad
5、Awake
6、OnEnable
7、AfterSceneLoad
8、Start
9、OnDisable
10、OnDestroy

Of course, OnEnable and OnDisable may be executed multiple times. It depends on whether there is a SetActive operation on the object.
There are some system initialization operations, such as configuration file loading and parsing, log system initialization, etc., which can be placed before Awake of all objects, such as 1, 2, 3, and 4.

Guess you like

Origin blog.csdn.net/sdhexu/article/details/121776376