Tiny:3行代码把Android图片压到2.3%
Tiny3行代码把Android图片压到2.3%【免费下载链接】Tinyan image compression framework.一个高保真、高压缩比的图片压缩框架项目地址: https://gitcode.com/gh_mirrors/ti/TinyTiny是Android图片压缩框架把6.66MB大图压到151KB1280x788。适合做电商、社交等需要图片上传与展示的App。 效果速览Tiny图片压缩的数字图中原图为3500x2156、6.35MB。README实测同尺寸6.66MB图压到151KB1280x788压缩后约为原图2.3%。压缩比6.66MB → 151KB约2.3%2.60MB → 193KB输出尺寸默认最大宽高1280px可调width/height/baseline输入来源文件路径 / Bitmap / Uri / resId / byte[] / InputStream线程模型后台线程池压缩主线程回调 三步跑通Tiny图片压缩第1步加依赖app模块的build.gradle里加两行dependencies { implementation project(:tiny) implementation project(:libjpeg-turbo-sdk) }Sync后可用armeabi、armeabi-v7a、arm64-v8a、x86四种abi的libtiny.so。第2步初始化在Application的onCreate里调一次Tiny.getInstance().debug(true).init(this);这行只记录Application上下文并打开日志无其他副作用。第3步执行压缩传图片路径用asFile声明输出文件结果在回调里拿Tiny.FileCompressOptions options new Tiny.FileCompressOptions(); Tiny.getInstance().source(/sdcard/DCIM/a.jpg).asFile() .withOptions(options).compress(new FileCallback() { Override public void callback(boolean ok, String outfile, Throwable t) { // ok为true时outfile即压缩后文件路径 } });跑完你会看到回调在主线程触发缓存目录里多了一张1280px级jpg。 两个高频场景电商商品图——详情页加载与上传流量大商品原图动辄2~6MB列表页直出费流量。只改options控制输出宽度与目标体积Tiny.FileCompressOptions options new Tiny.FileCompressOptions(); options.width 1080; // 列表页显示宽度即可 options.size 300; // KB超出则继续压实测2.60MB4032x3024商品图压到193KB1280x960约为原体积1/13。社交多图分享——一次上传多张图发9张图逐张压缩要管理9个回调。把source换成数组换batchAsFileTiny.getInstance().source(new String[]{p1, p2, p3}).batchAsFile() .withOptions(new Tiny.BatchFileCompressOptions()) .batchCompress(new FileBatchCallback() { Override public void callback(boolean ok, String[] out, Throwable t) {} });按README实测比例4张20MB的相册图压完总共约700KB原图的1/30。⚙️ 按需调参参数含义默认值建议值qualityJPEG压缩质量0~100越小越压缩7675~85width / height压缩目标宽、高px0即屏幕尺寸/12801080 / 0baseline最大宽高上限px12801280 或 2560size输出文件大小上限KB超出继续压0自动200~500configBitmap内存格式ARGB_8888RGB_565内存减半推荐起步配置Tiny.FileCompressOptions options new Tiny.FileCompressOptions(); options.width 1080; options.size 300; options.quality 80;⚠️ 集成前先看这4条回调t为权限异常、拿不到文件 → Android 6.0写外部存储需权限 → 启动时动态申请WRITE_EXTERNAL_STORAGE。输出文件名不是你指定的 → outfile传了目录或非.jpg路径Tiny自动改时间戳命名 → 给options.outfile设完整.jpg路径。压缩结果变PNG、体积不降 → 源图带透明通道hasAlphaTiny自动输出PNG → 不需要透明就先抠掉透明背景。个别设备UnsatisfiedLinkError → 没选中设备对应abi → ndk.abiFilters加上armeabi-v7a/arm64-v8a/x86。Tiny是一个基于libjpeg-turbo的Android图片压缩框架单库集成支持文件、Bitmap、Uri、resId四种输入。完整源码获取git clone https://gitcode.com/gh_mirrors/ti/Tiny【免费下载链接】Tinyan image compression framework.一个高保真、高压缩比的图片压缩框架项目地址: https://gitcode.com/gh_mirrors/ti/Tiny创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

数据与逻辑分离:技能配置与执行逻辑解耦

数据与逻辑分离:技能配置与执行逻辑解耦

先说个让人头秃的场景 假设你在做一个游戏,策划让你加个技能"火球术":造成 100 点伤害,冷却 3 秒。 你三下五除二写完了: class FireballSkill {void cast() {int damage = 100;cooldown(3<

2026/8/23 16:28:37 阅读更多 →
GPU像素级对象选取:ShapeUp着色器编码点击拾取技巧全解析

GPU像素级对象选取:ShapeUp着色器编码点击拾取技巧全解析

GPU像素级对象选取&#xff1a;ShapeUp着色器编码点击拾取技巧全解析 【免费下载链接】ShapeUp-public A 3D Modeler Made in a Week 项目地址: https://gitcode.com/gh_mirrors/sh/ShapeUp-public ShapeUp 是一款"一周建成"的 GPU 体素建模工具&#xff0c;用…

2026/8/23 16:28:37 阅读更多 →
CreativeML OpenRAIL-M许可详解:商用与再分发时Waifu Diffusion v1.3必须注意的3件事

CreativeML OpenRAIL-M许可详解:商用与再分发时Waifu Diffusion v1.3必须注意的3件事

CreativeML OpenRAIL-M许可详解&#xff1a;商用与再分发时Waifu Diffusion v1.3必须注意的3件事 【免费下载链接】waifu-diffusion-v1-3 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/waifu-diffusion-v1-3 Waifu Diffusion v1.3 是一个基于 Stable Diffu…

2026/8/23 16:27:37 阅读更多 →

最新新闻

DeepSeek开源一周,Agent第一次有了“组织“

DeepSeek开源一周,Agent第一次有了“组织“

上周我们聊了 DeepSeek Harness&#xff08;DSH&#xff09;和它背后那篇 Cordis 论文。论文的结尾有一句话&#xff0c;说未来要让 AI"持续生成并替换自己的组件"——也就是 Agent 自己给自己升级。 当时觉得那是个很远的愿景。 结果一周过去&#xff0c;"自进…

2026/8/23 22:37:10 阅读更多 →
OpenKylin虚拟机安装全攻略:从零到精通的详细步骤与避坑指南

OpenKylin虚拟机安装全攻略:从零到精通的详细步骤与避坑指南

1. 项目概述&#xff1a;为什么选择OpenKylin&#xff1f;最近在折腾国产操作系统&#xff0c;OpenKylin&#xff08;开放麒麟&#xff09;这个名字出现的频率越来越高。它作为一款基于Linux内核、由国内社区主导开发的开源桌面操作系统&#xff0c;主打安全、易用和良好的中文…

2026/8/23 22:37:10 阅读更多 →
0xc000012f 错误怎么修复?先修运行库和系统组件,再决定是否重装软件

0xc000012f 错误怎么修复?先修运行库和系统组件,再决定是否重装软件

运行 Windows 软件时弹出 0xc000012f&#xff0c;通常意味着某个程序或它依赖的组件没有通过系统加载校验。遇到这种提示&#xff0c;优先检查系统 DLL、运行库和启动环境是否完整&#xff0c;再根据报错范围判断要不要重装出错应用。单独从网上下载 DLL 来替换&#xff0c;往往…

2026/8/23 22:36:09 阅读更多 →
在Typora中用HTML实现复杂表格:突破Markdown表格限制

在Typora中用HTML实现复杂表格:突破Markdown表格限制

1. 从Markdown的局限到HTML的灵活&#xff1a;为什么我们需要在Typora里写表格代码如果你和我一样&#xff0c;长期使用Typora作为主力Markdown编辑器&#xff0c;那你一定对它的简洁优雅和即时渲染爱不释手。写个简单的表格&#xff0c;用几个竖线和短横线就能搞定&#xff0c…

2026/8/23 22:36:09 阅读更多 →
Windows Installer 服务无法访问怎么办?MSI 安装链路修复与排查要点

Windows Installer 服务无法访问怎么办?MSI 安装链路修复与排查要点

安装 .msi 程序时出现“Windows Installer 服务无法访问”&#xff0c;通常意味着 MSI 安装链路中某个环节没有就绪。报错可能来自服务状态、组件注册、系统目录或权限策略中的任意一环&#xff0c;单靠更换安装包不一定能解决。处理顺序建议先从系统软件组件入手&#xff0c;再…

2026/8/23 22:36:09 阅读更多 →
Windows API 实战指南:从原理到自动化与系统管理

Windows API 实战指南:从原理到自动化与系统管理

1. 从“黑盒”到“工具箱”&#xff1a;理解Windows API的本质如果你在Windows上写过代码&#xff0c;或者尝试过一些自动化脚本&#xff0c;那你一定或多或少接触过“Windows API”这个词。它听起来很高大上&#xff0c;像是系统深处某个神秘的黑盒。但今天&#xff0c;我想把…

2026/8/23 22:35:09 阅读更多 →

日新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →