本文共 712 字,大约阅读时间需要 2 分钟。
【回复“1024”,送你一个特别推送】
今天在 GitHub 上瞎逛浏览的时候,看到了一个来自于 ghnor 实现的图片压缩框架。感觉写的不错,很好,就想分享给大家,希望能够对大家有所帮助。
这款图片压缩框架,是 ghnor 作者在 Luban 的算法策略上,丰富了外围的 api,提供更多的可配参数,多线程压缩和不同细粒度的任务控制。
它不仅可以同步压缩和异步压缩,还可以进行个性化的处理去添加水印之类的,而且还可以使压缩可控,扩展了更多的属性。我们现在一起来看看具体用法和特点以及说明。
以下内容,来自于作者 ghnor 的 GitHub 的 README:
异步压缩:
Flora.with().load(source...).compress(new Callback<>());
同步压缩:
Flora.with().load(R.drawable.test2).compressSync();
压缩速度
本身内部采用线程池的方案去进行压缩任务,同时进行了必要的内存检查。
在不会OOM的前提下,最大的提升了压缩的速度,常见的9图大小在20M+能够在2s内处理完成。
当然,机器性能,系统当时的内存都是对此产生影响,我的测试机是【魅蓝Note】...
压缩效果
由于压缩策略集成自Luban,所以最后图片压缩大小前后对比可以参考Luban。
我在此基础上,对社交产品中常见的长图的需求进行了一定的优化。
最后,如果大家感觉不错,欢迎大家去支持一下这个作者,去 GitHub 上去 star 吧。
地址:https://github.com/loonggg/Flora
转载地址:http://bybgj.baihongyu.com/