Exemple #1
0
        //减少gc alloc
        static string GetLogFormat(string str)
        {
            var time = DateTime.Now;

            sb.Clear();
            sb.Append(ConstStringTable.GetTimeIntern(time.Year))
            .Append("-")
            .Append(ConstStringTable.GetTimeIntern(time.Month))
            .Append("-")
            .Append(ConstStringTable.GetTimeIntern(time.Day))
            .Append("-")
            .Append(ConstStringTable.GetTimeIntern(time.Hour))
            .Append(":")
            .Append(ConstStringTable.GetTimeIntern(time.Minute))
            .Append(":")
            .Append(ConstStringTable.GetTimeIntern(time.Second))
            .Append(".")
            .Append(time.Millisecond)
            .Append("-")
            .Append(Time.frameCount % 999)
            .Append(": ")
            .Append(str);

            var dest = StringPool.Alloc(sb.Length);

            sb.CopyToString(dest);
            return(dest);
        }
Exemple #2
0
 static Debugger()
 {
     for (int i = 24; i < 70; i++)
     {
         StringPool.PreAlloc(i, 2);
     }
 }
Exemple #3
0
 public static void Log(string str)
 {
     if (!UseLog)
     {
         return;
     }
     str = GetLogFormat(str);
     Debug.Log(str);
     StringPool.Collect(str);
 }
Exemple #4
0
 public static void LogException(string str, Exception e)
 {
     if (!UseLog)
     {
         return;
     }
     threadStack = e.StackTrace;
     str         = GetLogFormat(str + e.Message);
     Debug.LogError(str);
     StringPool.Collect(str);
 }