|
|
|
|
|
|
if (UIWidgetsGlobalConfiguration.EnableIncrementalGC) |
|
|
|
{ |
|
|
|
GarbageCollector.GCMode = GarbageCollector.Mode.Disabled; |
|
|
|
Application.lowMemory += GC.Collect; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
else if (mem >= nextCollectAt) |
|
|
|
{ |
|
|
|
// Trigger incremental GC
|
|
|
|
GarbageCollector.GCMode = GarbageCollector.Mode.Enabled; |
|
|
|
GarbageCollector.GCMode = GarbageCollector.Mode.Disabled; |
|
|
|
} |
|
|
|
|
|
|
|
lastFrameMemory = mem; |
|
|
|
|
|
|
#if !UNITY_EDITOR
|
|
|
|
TryEnableOnDemandGC(); |
|
|
|
#endif
|
|
|
|
Application.lowMemory += () => { |
|
|
|
GarbageCollector.GCMode = GarbageCollector.Mode.Enabled; |
|
|
|
GC.Collect(); |
|
|
|
GarbageCollector.GCMode = GarbageCollector.Mode.Disabled; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
base.OnEnable(); |
|
|
|
|
|
|
|