Class BytesResource

java.lang.Object
com.bumptech.glide.load.resource.bytes.BytesResource
All Implemented Interfaces:
Resource<byte[]>

public class BytesResource extends Object implements Resource<byte[]>
An Resource wrapping a byte array.
  • Constructor Summary

    Constructors
    Constructor
    Description
    BytesResource(byte[] bytes)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    get()
    In most cases it will only be retrieved once (see linked methods).
    Class<byte[]>
    Returns the Class of the wrapped resource.
    int
    Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.
    void
    Cleans up and recycles internal resources.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BytesResource

      public BytesResource(byte[] bytes)
  • Method Details

    • getResourceClass

      @NonNull public Class<byte[]> getResourceClass()
      Description copied from interface: Resource
      Returns the Class of the wrapped resource.
      Specified by:
      getResourceClass in interface Resource<byte[]>
    • get

      @NonNull public byte[] get()
      In most cases it will only be retrieved once (see linked methods).
      Specified by:
      get in interface Resource<byte[]>
      Returns:
      the same array every time, do not mutate the contents. Not a copy returned, because copying the array can be prohibitively expensive and/or lead to OOMs.
      See Also:
    • getSize

      public int getSize()
      Description copied from interface: Resource
      Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.
      Specified by:
      getSize in interface Resource<byte[]>
    • recycle

      public void recycle()
      Description copied from interface: Resource
      Cleans up and recycles internal resources.

      It is only safe to call this method if there are no current resource consumers and if this method has not yet been called. Typically this occurs at one of two times:

      • During a resource load when the resource is transformed or transcoded before any consumer have ever had access to this resource
      • After all consumers have released this resource and it has been evicted from the cache
      For most users of this class, the only time this method should ever be called is during transformations or transcoders, the framework will call this method when all consumers have released this resource and it has been evicted from the cache.
      Specified by:
      recycle in interface Resource<byte[]>