Beispiel #1
0
        public void Clear()
        {
            CDNIndex?.Clear();
            CDNIndex = null;

            foreach (var stream in DataStreams)
            {
                stream.Value.Dispose();
            }

            DataStreams.Clear();

            Encoding?.Clear();
            Encoding = null;

            Install?.Clear();
            Install = null;

            LocalIndex?.Clear();
            LocalIndex = null;

            Root?.Clear();
            Root = null;

            Download?.Clear();
            Download = null;
        }
Beispiel #2
0
        public void Unload()
        {
            // Don't empty if loading
            if (Loading || !Expired)
            {
                return;
            }

            Encoding.Clear();
            Root.Clear();
            Indices.Clear();

            Expired = false;
            Loading = false;

            GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
            GC.Collect(2, GCCollectionMode.Forced);

            Scanner.WriteLine($"[{VersionName}] Unloaded.");
        }