docs.unity3d.com
    Show / Hide Table of Contents

    Class LRUCacheAllocationStrategy

    Allocation strategy that uses internal pools of objects to avoid allocations that can trigger GC calls.

    Inheritance
    Object
    LRUCacheAllocationStrategy
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.ResourceManagement.Util
    Syntax
    public class LRUCacheAllocationStrategy : IAllocationStrategy

    Constructors

    LRUCacheAllocationStrategy(Int32, Int32, Int32, Int32)

    Create a new LRUAllocationStrategy objct.

    Declaration
    public LRUCacheAllocationStrategy(int poolMaxSize, int poolCapacity, int poolCacheMaxSize, int initialPoolCacheCapacity)
    Parameters
    Type Name Description
    Int32 poolMaxSize

    The max size of each pool.

    Int32 poolCapacity

    The initial capacity to create each pool list with.

    Int32 poolCacheMaxSize

    The max size of the internal pool cache.

    Int32 initialPoolCacheCapacity

    The initial number of pools to create.

    Methods

    New(Type, Int32)

    Create a new object of type t.

    Declaration
    public object New(Type type, int typeHash)
    Parameters
    Type Name Description
    Type type

    The type to return.

    Int32 typeHash

    The hash code of the type.

    Returns
    Type Description
    Object

    The new object.

    Implements
    IAllocationStrategy.New(Type, Int32)

    Release(Int32, Object)

    Release an object.

    Declaration
    public void Release(int typeHash, object obj)
    Parameters
    Type Name Description
    Int32 typeHash

    The hash code of the type.

    Object obj

    The object to release.

    Implements
    IAllocationStrategy.Release(Int32, Object)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023