-
- All Implemented Interfaces:
-
com.clevertap.android.sdk.inapp.images.memory.Memory
public final class InAppGifMemoryV1 implements Memory<ByteArray>
A memory management implementation for in-app GIF images, providing both in-memory and disk-based storage.
This class utilizes InMemoryLruCache for efficient in-memory caching of GIF images (represented as byte arrays) and DiskMemory for persistent storage of GIFs on disk. It manages the creation and configuration of these storages based on the provided MemoryConfig.
-
-
Constructor Summary
Constructors Constructor Description InAppGifMemoryV1(MemoryConfig config, ILogger logger)
-
Method Summary
Modifier and Type Method Description InMemoryLruCache<Pair<ByteArray, File>>createInMemory()Creates and returns an in-memory LRU cache for storing GIF images as byte arrays. DiskMemorycreateDiskMemory()Creates and returns a disk-based storage mechanism for persisting GIF images. IntegerinMemorySize()Calculates and returns the size of the in-memory cache in kilobytes. UnitfreeInMemory()Clears the in-memory cache, releasing all held GIF images. -
-
Constructor Detail
-
InAppGifMemoryV1
InAppGifMemoryV1(MemoryConfig config, ILogger logger)
- Parameters:
config- The configuration object specifying parameters for memory management.logger- An optional logger for debugging and tracking purposes.
-
-
Method Detail
-
createInMemory
InMemoryLruCache<Pair<ByteArray, File>> createInMemory()
Creates and returns an in-memory LRU cache for storing GIF images as byte arrays.
The cache is lazily initialized and configured with a maximum size based on the MemoryConfig.
-
createDiskMemory
DiskMemory createDiskMemory()
Creates and returns a disk-based storage mechanism for persisting GIF images.
The disk storage is lazily initialized and configured based on the MemoryConfig.
-
inMemorySize
Integer inMemorySize()
Calculates and returns the size of the in-memory cache in kilobytes.
The size is determined based on the MemoryConfig, choosing the larger value between the optimistic size and the minimum in-memory size.
-
freeInMemory
Unit freeInMemory()
Clears the in-memory cache, releasing all held GIF images.
-
-
-
-