public static Bitmap onStackBlurClip(Bitmap original, int radius, int parts) {
        Bitmap bitmap = checkSource(original, radius);
        if (parts < 2 || parts > 12) {
            throw new RuntimeException("Blur bitmap parts must >= 2 and <=12.");
        }

        if (original.getHeight() / parts < radius + radius) {
            throw new RuntimeException("Blur bitmap height/partsCount must > radius+radius values.");
        }

        //Jni BitMap Blur
        nativeStackBlurBitmapClip(bitmap, radius, parts);

        return (bitmap);
    }
StackBlur By Jni Bitmap
in this we will cut the source bitmap to some parts.
We'll deal(blur) with it one by one. This will reduce the memory consumption.

@param original Original Image
@param radius   Blur radius
@param parts    Blur cut parts count
@return Image Bitmap
caprice/graphics/src/main/java/net/qiujuer/genius/graphics/Blur.java