Class StorageImageAsync

java.lang.Object
com.codename1.ui.Image
com.codename1.ui.EncodedImage
com.codename1.components.StorageImageAsync
All Implemented Interfaces:
ActionSource

public final class StorageImageAsync extends EncodedImage
Asynchronous storage image that loads in the background and not during the paint cycle effectively not blocking the EDT drawing speed.
  • Method Details

    • create

      public static StorageImageAsync create(String fileName, Image placeholder)

      Creates an encoded image that maps to a storage file thus allowing to seamlessly cache images as needed. This only works reasonably well for very small files.

      Parameters
      • fileName: the name of the storage file

      • placeholder: an image that must be of the same size as the EncodedImage

      Returns

      image that will load the file seamlessly

    • resetCache

      protected void resetCache()
      A subclass might choose to load asynchroniously and reset the cache when the image is ready.
      Overrides:
      resetCache in class EncodedImage
    • getInternal

      protected Image getInternal()

      Returns the actual image represented by the encoded image, this image will be cached in a weak/soft reference internally. This method is useful to detect when the system actually created an image instance. You shouldn't invoke this method manually!

      Returns

      drawable image instance

      Overrides:
      getInternal in class EncodedImage
    • getImageData

      public byte[] getImageData()

      Returns the byte array data backing the image allowing the image to be stored and discarded completely from RAM.

      Returns

      byte array used to create the image, e.g. encoded PNG, JPEG etc.

      Overrides:
      getImageData in class EncodedImage
    • animate

      public boolean animate()
      Overrides:
      animate in class Image
    • isAnimation

      public boolean isAnimation()

      Returns true if this is an animated image

      Returns

      true if this image represents an animation

      Overrides:
      isAnimation in class EncodedImage