ved_Rony
article thumbnail

개발을 하다 보면 Debugging을 자주 사용하게 된다. 하지만, Debugging 자체가 성능을 많이 잡아 먹는 다고 하니, 개발이 끝난 이후에는 일일이 삭제를 하는 편이다. 또한, 빌드를 했을 때도 Debugging은 그대로 작동을 하게 된다. Android 빌드를 하고 Logcat을 찍어보면 Debug 클래스가 그대로 작동하는 것을 확인 할수 있다. 

빌드에 포함 시키지 않고, 에디터에서만 돌아가게 하는 방법은 [System.Diagnostics.Conditional("UNITY_DEDITOR")] 을 사용하면 된다. 에디터 일때만 Debug.logger.logEnabled = false 을 사용하는 방법은 클래스 호출은 그대로 이기 때문에 비효율적이다.

하지만, 먼제 제시한 방법은 빌드 했을 때, 그런 호출이 일어나지 않기 때문에 성능의 저하가 일어나지 않는 다고 한다.

 [System.Diagnostics.Conditional("UNITY_EDITOR")]
    public static void Log (object message)
    {   
        UnityEngine.Debug.Log (message);
    }

    [System.Diagnostics.Conditional("UNITY_EDITOR")]
    public static void Log (object message, UnityEngine.Object context)
    {   
        UnityEngine.Debug.Log (message, context);
    }
		
    [System.Diagnostics.Conditional("UNITY_EDITOR")]
    public static void LogError (object message)
    {   
        UnityEngine.Debug.LogError (message);
    }

    [System.Diagnostics.Conditional("UNITY_EDITOR")]	
    public static void LogError (object message, UnityEngine.Object context)
    {   
        UnityEngine.Debug.LogError (message, context);
    }

출처 : https://gist.github.com/kimsama/4123043

참고 : https://jakehollys.tistory.com/22

profile

ved_Rony

@Rony_chan

검색 태그