iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android性能优化(六)图片压缩
  • 639
分享到

Android性能优化(六)图片压缩

压缩图片优化图片压缩Android 2022-06-06 13:06:35 639人浏览 独家记忆
摘要

一、压缩图片 文件压缩——内存压缩 二、文件压缩方式 1.质量压缩   2.尺寸压缩   3.格式选择:JPEG/WEBP (4.0以上) 三、压缩原理 /frameworks

一、压缩图片 文件压缩——内存压缩 二、文件压缩方式

1.质量压缩  

2.尺寸压缩  

3.格式选择:JPEG/WEBP (4.0以上)

三、压缩原理

/frameworks/base/core/jni/Android/graphics/Bitmap.cpp

Skia引擎

https://skia.org/index_zh

Google 研发、开源c++二维图形库 

Android:

  阉割的skia版本,对jpeg的处理基于libjpeg,对png则是基于libpng。

  早期由于cpu吃紧。将libjpeg中的最优哈夫曼编码关闭了。直到7.0才打开

四、哈夫曼编码

一种字符编码方式,常用于数据文件压缩。压缩率通常在20%~90%。

主要思想:

  采取可变长编码方式,对文件中出现次数多的字符采取比较短的编码,对于出现次数少的字符采取比较长的编码,可以有效地减小总的编码长度。

      颜色

      红

      黄

    蓝

    绿

    白

一张图片占比

    9

       1

    0

    0

    0 

     定长编码

     000

       001

    010

   011

   111

   变长哈夫曼

     0

        01

     110

    011

   111

五、LibJpeg-turbo 

C语言编写的JPEG编解码库。

1. NDK

Https://developer.android.google.cn/ndk/index.html

Android Native Development Kit

一套允许使用原生代码语言C/C++,实现部分应用的工具集。

 C/C++与Java通过JNI交互

2. LibJpeg使用步骤

下载 -> 编译支持Android CPU架构的库 -> As集成 ->编码

3. 下载:

https://libjpeg-turbo.org/

4. 编译:

https://GitHub.com/libjpeg-turbo/libjpeg-turbo/blob/master/BUILDING.md

5. 步骤:

1、生成configure(只需执行一次)

  如果生成x86架构的库需要NASM/YASM工具(armeabi不需要)

  sudo apt-get install libtool

  autoreconf -ivf

2、根据BUILDING.md 编写并执行脚本

  build.sh

8. AS集成:

9. 编码 

  参考 build.sh中的 --prefix 配置的目录下的

  share/doc/libjpeg-turbo/example.c 中的write_JPEG_file函数 

10. 使用

  参考 build.sh中的 --prefix 配置的目录下的

  share/doc/libjpeg-turbo/example.c 中的write_JPEG_file函数 

11. Bitmap使用Libjepg步骤

  1、获得待压缩Bitmap

  2、获得Bitmap中像素数据(ARGB->BGR)

  3、Libjpeg压缩

  3.1、创建jpeg压缩对象

  3.2、指定存储文件

  3.3、设置压缩参数

  3.4、开始压缩

  3.5、循环写入每一行数据

  3.6、压缩完成

  3.7、释放jpeg对象

  

资源链接:

https://download.csdn.net/download/Easyhood/12208476​​​​​​​

https://download.csdn.net/download/Easyhood/12208415​​​​​​​


作者:Easyhood


--结束END--

本文标题: Android性能优化(六)图片压缩

本文链接: https://www.lsjlt.com/news/28974.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android性能优化之图片大小,尺寸压缩的方法
    这篇文章主要介绍“Android性能优化之图片大小,尺寸压缩的方法”,在日常操作中,相信很多人在Android性能优化之图片大小,尺寸压缩的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android性能...
    99+
    2023-06-30
  • Android性能优化之图片大小,尺寸压缩综合解决方案
    目录前言常见的图片压缩方法质量压缩尺寸压缩libjpeg图片压缩流程总结前言 在Android中我们经常会遇到图片压缩的场景,比如给服务端上传图片,包括个人信息的用户头像,有时候人脸...
    99+
    2024-04-02
  • Android图片压缩(质量压缩和尺寸压缩)
    在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可...
    99+
    2023-05-31
    android 图片压缩 roi
  • Android 性能优化系列之bitmap图片优化
    背景 Android开发中,加载图片过多、过大很容易引起OutOfMemoryError异常,即我们常见的内存溢出。因为Android对单个应用施加内存限制,默认分配的内存只有几M(...
    99+
    2024-04-02
  • Android获取照片、裁剪图片、压缩图片
    前言在做上一个项目时深深受到了图片上传的苦恼。图片上传主要分为两个部分,首先要获取图片,而获取图片可以分为从文件获取或者拍照获取。第二个部分才是上传图片,两个部分都是走了不少弯路。由于Android系统的碎片化比较严重,我们可能出现在第一台...
    99+
    2023-05-31
    android 获取照片 裁剪图片
  • JS前端图片最优化压缩方案
    目录前言压缩图片思考压缩图片基本流程准备HTMLCanvasElement.toDataURL()语法参数猜想实践结论附录优化升级优化升级 TS新写法前言 上传图片/视频/文件是我们...
    99+
    2024-04-02
  • Android中怎么实现图片压缩功能
    Android中怎么实现图片压缩功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、图片质量压缩    public s...
    99+
    2023-05-31
    android
  • PHP开发中如何优化图片压缩和优化加载
    摘要:在网站中,图片是让用户获得更直观和有吸引力的体验的重要元素。然而,图片文件通常较大,加载速度较慢,会影响网站的性能和用户的体验。本文将详细介绍如何使用PHP开发来优化图片压缩和优化加载的方法,并提供具体的代码示例。请注意:本文所使用的...
    99+
    2023-10-21
    PHP开发 图片压缩 加载优化
  • Android图片压缩的实例详解
    Android图片压缩的实例详解在做微信分享的时候,由于分享的缩略图要求不得大于32K,否则不能调起微信,所以总结了一下Android图片的压缩问题,大部分资料都是来自网上各位的分享,自己只是完善或修改了一下,本着继续分享的精神,也方便自己...
    99+
    2023-05-30
    android 图片压缩 roi
  • java怎么实现1M图片压缩优化到100kb
    这篇“java怎么实现1M图片压缩优化到100kb”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java怎么实现1M图片压缩...
    99+
    2023-07-02
  • php实现图片压缩功能
    简述: 使用php的GD库可以将图片按固定宽高或者等比例压缩,主要利用的函数是: imagecopyresampled:将一张图片中的一块区域复制到另一张图片上 等比例压缩   public function compressImg($sr...
    99+
    2023-08-31
    php 开发语言
  • Linux下怎么压缩和优化jpg与png图片
    这篇文章主要介绍“Linux下怎么压缩和优化jpg与png图片”,在日常操作中,相信很多人在Linux下怎么压缩和优化jpg与png图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么压缩和优化...
    99+
    2023-06-12
  • Android中怎么实现图片压缩与上传功能
    Android中怎么实现图片压缩与上传功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先需要对图片进行压缩,这方面可以使用第三方的库,我在实际的开发中使用的...
    99+
    2023-05-30
    android
  • PHP开发中如何优化图片压缩和优化加载速度
    随着互联网的快速发展,图片成为了网页设计和内容展示中不可或缺的一部分。然而,过大的图片文件不仅会占用用户的存储空间,还会增加网页加载时间,降低用户体验。为了提升网站的性能和用户体验,我们可以通过优化图片压缩和加载速度来改进网站加载速度。图片...
    99+
    2023-10-21
    优化 图片压缩 加载速度
  • Android三种常见的图片压缩方式
    目录1、质量压缩2、按比例压缩(尺寸压缩、采样率压缩)3、鲁班压缩(推荐)下面就为大家带来3种比较常见的压缩方式 先给出一组数据 原图:width:2976; height:297...
    99+
    2024-04-02
  • java实现1M图片压缩优化到100kb实现示例
    目录引言一、图像压缩二、Java数字图像处理三、图像压缩实战四、其他开源库五、一点点心声引言 坦白从宽吧,我就是那个花了两天两夜把 1M 图片优化到 100kb 的家伙—...
    99+
    2024-04-02
  • Nginx性能优化之Gzip压缩的设置方法
    本篇内容主要讲解“Nginx性能优化之Gzip压缩的设置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx性能优化之Gzip压缩的设置方法”吧!Nginx开启Gzip压缩功能,&nbs...
    99+
    2023-06-29
  • springboot实现图片大小压缩功能
    本文实例为大家分享了springboot实现图片大小压缩的具体代码,供大家参考,具体内容如下 application.properties配置文件 #后端接收图片大小 spring....
    99+
    2024-04-02
  • Android Tiny集成图片压缩框架的使用
    为了简化对图片压缩的调用,提供最简洁与合理的api压缩逻辑,对于压缩为Bitmap根据屏幕分辨率动态适配最佳大小,对于压缩为File优化底层libjpeg的压缩,整个图片压缩过程全在压缩线程池中异步压缩,结束后分发回UI线程。支持的压缩类型...
    99+
    2023-05-30
    android 图片 压缩
  • java实现上传图片并压缩图片大小功能
    Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式...
    99+
    2023-05-31
    java 上传图片 压缩图片
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作