Home

Awesome

Android NDK GIF Library

GIF library built with ndk and gradle in aar format for usage with android gradle build system.

1.0.1 Change Log

Encoding Option

How to use

Remote repository

...

repositories {
    maven { url 'https://repo1.maven.org/maven2' }
    ...
}

dependencies {
    implementation ('io.github.waynejo:androidndkgif:1.0.1')
}

Decoding using Iterator. (Less memory used)


GifDecoder gifDecoder = new GifDecoder();
final GifImageIterator iterator = gifDecoder.loadUsingIterator(destFile);
while (iterator.hasNext()) {
    GifImage next = iterator.next();
    if (null != next) {
        imageView.setImageBitmap(next.bitmap);
    }
}
iterator.close();

Decoding


GifDecoder gifDecoder = new GifDecoder();
boolean isSucceeded = gifDecoder.load(destFile);
if (isSucceeded) {
    for (int i = 0; i < gifDecoder.frameNum(); ++i) {
        Bitmap bitmap = gifDecoder.frame(i);
    }
}

Encoding


GifEncoder gifEncoder = new GifEncoder();
gifEncoder.init(width, height, filePath, GifEncoder.EncodingType.ENCODING_TYPE_NORMAL_LOW_MEMORY);

// Bitmap is MUST ARGB_8888.
gifEncoder.encodeFrame(bitmap1, delayMs);
gifEncoder.encodeFrame(bitmap2, delayMs);

gifEncoder.close();

Reference


Android Arsenal