Skip to content

Commit a354f51

Browse files
committed
Add unique identifier to Reference class and update debug logs
1 parent bda38d2 commit a354f51

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Assets/_PackageRoot/Runtime/Reference.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ namespace Extensions.Unity.ImageLoader
66
{
77
public partial class Reference<T> : IDisposable
88
{
9+
private static int idCounter = 0;
10+
911
/// <summary>
1012
/// True: Keep the texture in memory, you are responsible to release the memory.
1113
/// False: Release memory automatically when the Reference.Dispose executed.
@@ -15,6 +17,7 @@ public partial class Reference<T> : IDisposable
1517
public readonly string Url;
1618

1719
private bool disposed;
20+
internal readonly int id = idCounter++;
1821

1922
internal Reference(string url, T value)
2023
{
@@ -28,7 +31,7 @@ internal Reference(string url, T value)
2831
{
2932
referenceCounters[url] = Math.Max(0, referenceCounters.GetValueOrDefault(url, 0)) + 1;
3033
if (ImageLoader.settings.debugLevel <= DebugLevel.Log)
31-
Debug.Log($"[ImageLoader] Reference created [{referenceCounters[url]}] URL={url}");
34+
Debug.Log($"[ImageLoader] Ref[id={id}] Reference created [{referenceCounters[url]}] URL={url}");
3235
}
3336
}
3437
private void OnClearUrl(string url)
@@ -65,26 +68,23 @@ public void Dispose()
6568
if (referenceCounters.GetValueOrDefault(Url) < 0)
6669
{
6770
if (ImageLoader.settings.debugLevel <= DebugLevel.Warning)
68-
Debug.LogError($"[ImageLoader] Reference dispose has negative counter URL={Url}");
71+
Debug.LogError($"[ImageLoader] Ref[id={id}] Reference dispose has negative counter URL={Url}");
6972
}
7073

7174
if (Keep)
7275
{
7376
if (ImageLoader.settings.debugLevel <= DebugLevel.Log)
74-
Debug.Log($"[ImageLoader] Reference dispose of URL={Url} Ignored. Because 'Keep' is True. Please make sure you release the memory in time to avoid usage of too much memory.");
77+
Debug.Log($"[ImageLoader] Ref[id={id}] Reference dispose of URL={Url} Ignored. Because 'Keep' is True. Please make sure you release the memory in time to avoid usage of too much memory.");
7578
return;
7679
}
7780

7881
if (ImageLoader.settings.debugLevel <= DebugLevel.Log)
79-
Debug.Log($"[ImageLoader] Reference dispose of URL={Url}");
82+
Debug.Log($"[ImageLoader] Ref[id={id}] Reference dispose of URL={Url}");
8083

8184
if (!referenceCounters.ContainsKey(Url) || referenceCounters[Url] == 0)
8285
ImageLoader.ClearMemoryCache(Url);
8386
}
8487
}
85-
~Reference()
86-
{
87-
Dispose();
88-
}
88+
~Reference() => Dispose();
8989
}
9090
}

0 commit comments

Comments
 (0)