Android 图片二次采样、质量压缩

Android图片的二次采样 为什么要进行二次采样? 在手机上显示一张分辨率特别大的图片和显示一张分辨率小的图片,对用户的视觉体验来说,并不会有多大变化,但是对我们手机的内存来说,影响却是非常巨大的。,二次采样就是为了避免图片加载时的内存溢出异常。 二次采样分别是哪两次 1.第一次采样 第一次采样我主要是想要获得图片的压缩比例,假如说我有一张图片是200*200,那么我想把这张图片的缩略图显示在一个50*50的Image... 阅读详情

引言:

Android系统支持几种图片(.png (preferred), .jpg (acceptable), .gif (discouraged)), 其中Bitmap位图#ffffffff,包括图片透明度Alpha和RGB,图片质量很好,每一个像素位占4个字节,如果图片很大将会占据很大的内存空间。存储在SDCard的image很小,加载进内存可能就会很大。因此,对bitmap图像进行操作,应该特别小心,可能出现内存溢出问题。为此对于大图片,应该引入该图片的二次采样生成缩略图。

一、图片二次采样

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
  * 根据图片字节数组,对图片可能进行二次采样,不致于加载过大图片出现内存溢出
  * @param bytes
  * @return
  */
public  static  Bitmap getBitmapByBytes( byte [] bytes){
//对于图片的二次采样,主要得到图片的宽与高
int  width =  0 ;
int  height =  0 ;
int  sampleSize =  1 ; //默认缩放为1
BitmapFactory.Options options =  new  BitmapFactory.Options();
options.inJustDecodeBounds =  true ; //仅仅解码边缘区域
//如果指定了inJustDecodeBounds,decodeByteArray将返回为空
BitmapFactory.decodeByteArray(bytes,  0 , bytes.length, options);
//得到宽与高
height = options.outHeight;
width = options.outWidth;
Bitmap三级缓存+二次采样 Bitmap三级缓存 一.为什么使用Bitmap三级缓存? 1.没有缓存的弊端:费流量,加载速度慢 2.加入缓存的优点:省流量,支持离线浏览 二.原理 思路: 1.从内存获取图片,如果存在,则显示;如果不存在,则从SD卡中获取图片 2.从SD卡中获取图片,如果文件中存在,显示,并且添加到内存中,否则开启网络下载图片 三.代码 (1).添加读写SD卡的权限和网络权限 <uses-permis... 阅读详情

相关推荐

安卓图片的压缩,尺寸,质量,采样率和微信压缩

图片压缩:分为质量压缩,尺寸压缩,采样率压缩,微信压缩(哈夫曼编码)(都不是重点,重点是第四种) 质量压缩:设置bitmap options属性,降低图片的质量,像素不会减少 尺寸压缩:通过缩放像素减少图片的大小。 采样率压缩:通过降低图片像素来减小图片的大小 微信压缩(华为EMUI5.0已经将定常编码改为了哈夫曼编码(猜测,没有看过源码),但是微信是这样子做的)

小马的博客 5660

Android图片压缩(质量压缩和尺寸压缩)

在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成缩略图。 两种方法都实装在了我的项目中,结果却发现在质量压缩的模块中,本来1.9M的图片压缩后反而变成3M多了,很是奇怪,再做了进一步调查终于知道原因

highboys的博客 1万+

【一篇文章就懂】优化应用性能-Android图片压缩(质量压缩、尺寸压缩、采样率压缩)

Android图片压缩技术主要分为质量压缩、尺寸压缩、采样率压缩和格式转换,用于优化性能并节省存储空间。质量压缩通过调整编码参数减小文件大小;尺寸压缩通过缩放减少像素数量;采样率压缩在解码阶段减少内存占用;格式转换(如WebP/HEIF)可显著减小文件大小。实践建议结合具体场景选择合适的压缩方式,并注意线程管理和兼容性。

左耳的专栏 1272

Android中图片压缩方案详解

如感觉排版不舒服,可移步至此处查看图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图、多图避免程序OOM.还有一个问题就是图片的上传下载问题,往往我们都喜欢图片既清楚又占的内存小,也就是尽可能少的耗费我们的流量,这就是我今天所要讲述的问题:图片的压缩方案的详解。1、质量压缩法设置bitmap o

初来乍到 2357

Android:JNI与NDK(五)使用libjpeg对图片进行质量压缩

本文目录 一、前言 上一篇我们编译出了libjpeg库,本片我们主要用libjpeg来对图片进行质量压缩,既然提到图片质量压缩那我们就详细梳理一下安卓图片质量压缩方面的知识,另外我们还要搞懂安卓本身已经提供了对图片质量压缩的接口为什么我们还要使用libjpeg呢? 本片同样比较简单,如果没有C/C++基础可能有一点难度,好了,进入本篇正题。 二、图片质量压缩 安卓常见图片压缩分为两种:质量压缩与...

qq_16386581的博客 1119

Android图片压缩原理(二)—— 鲁班压缩算法解析

前面几篇文章,我们了解了一些关于。

hirezy 4409

android 图片压缩技术 见解

Android 高级工程师进阶 ~ 网易云课堂 学习笔记 学会图片终极压缩,快速处理项目中的复杂业务 【直播主题】 Android黑科技,图片终极压缩 【直播大纲】 1、浅谈Luban图片压缩框架,开启造轮子之路 2、详解架构思路和像素压缩、质量压缩的核心原理 3、项目中的复杂业务该如何处理 戳此链接占座:https://url.163.com/rKN Android 黑科技:图片终极压缩 支持自...

yoyo_0316的博客 736

Android 图片压缩详解

效果演示直接先给大家对比几种图片压缩的效果质量压缩质量压缩:根据传递进去的质量大小,采用系统自带的压缩算法,将图片压缩成JPEG格式/** * 质量压缩 * * @param bitmap * @param quality * @param file */ public static void compressQuality(Bitmap bitmap, int quality, Fi...

明珠之星的博客 532

android bitmap 无损压缩,详解Bitmap尺寸压缩与质量压缩

转载请注明出自flowsky37的博客,尊重他人辛苦劳动!在Android系统中,关于图片处理的是一个既常见又比较棘手的问题。一个应用中,存在需要展示大量的图片的布局,那我们必须要小心翼翼的处理了,不然OOM会就像一个定时炸弹一样出现。由于大量位图加载导致的内存溢出是Android中内存溢出常见场景之一。关于图片的处理,一般情况下就是要对bitmap进行合适的处理跟优化。在Android应用中,图...

weixin_31782323的博客 2658

开源一个 Android 图片压缩框架

在实际使用过程中,我们通常会结合三种压缩方式使用,一般使用的步骤如下,使用邻近采样对原始的图片进行采样,将图片控制到比目标尺寸稍大的大小,防止 OOM;使用双线性采样对图片的尺寸进行压缩,控制图片的尺寸为目标的大小;对上述两个步骤之后得到的图片 Bitmap 进行质量压缩,并将其输出到磁盘上。当然,本质上 Android 图片的编码是由Skia库来完成的,所以,除了使用 Android 自带的库进行压缩,我们还可以调用外部的库进行压缩。

2401_84123056的博客 559

Android性能优化之图片压缩综合解决方案

作者:拖鞋王子猪 转载地址:https://juejin.cn/post/7087388674735734797 在Android中我们经常会遇到图片压缩的场景,比如给服务端上传图片,包括个人信息的用户头像,有时候人脸识别也需要捕获图片等等。这种情况下,我们都需要对图片做一定的处理,比如大小,尺寸等的压缩。 常见的图片压缩方法 质量压缩 尺寸压缩 libjpeg 质量压缩 首先我们要介绍一个api–Bitmap.compress() @WorkerThread public boolean comp.

1 905

Bitmap源码分析以及图片压缩实现方案

Bitmap源码分析以及图片压缩实现方案 Android中图片是以Bitmap形式存在,Bitmap所占内存大小的计算方式为:图片长度图片宽度一个像素点占用的字节数。为了更好的理解Bitmap,我们先来看下BitmapFactory Config 占用字节大小(byte) 说明 ALPHA_8 (1) 1 代表8位Alpha位图(没有存储任何的色彩信息,每一个像素只需要1...

bobby_fu的博客 749

Android BitmapFactory图片压缩处理(大位图二次采样压缩处理)

Listview中图片的压缩处理后,成功避免了曾出现的OOM异常。 可以查看我的博客文章:http://blog.youkuaiyun.com/u012440207/article/details/37910047

图片二次采样

加载大图片时,对图片进行二次采样

Hive SQL零基础到精通:100道练习题+答案,SQL能力快速提升

我将以我15年架构与开发的经验,带领大家从零基础到精通,通过精心设计的100道练习题及其详解,系统地、深度地掌握Hive SQL的核心精髓。它可以将结构化的数据文件映射为一张数据库表,并提供了一套类SQL的查询语言——HiveQL(简称HQL),允许熟悉SQL的用户直接查询存储在HDFS上的海量数据。它将Job描绘为DAG(有向无环图),允许更灵活的任务编排,避免不必要的中间落盘,可以复用容器,从而大幅降低延迟。希望你以此文为起点,在广阔的大数据世界里继续遨游,成为一名真正的数据高手!

架构师的AI之路,分享AI应用开发架构的学习与实践。 798

​​WPF入门与XAML基础:从零开始构建你的第一个WPF应用​

本文是WPF入门系列首篇,详细介绍WPF的核心优势与开发环境搭建。通过创建第一个WPF项目,解析MainWindow.xaml和App.xaml等关键文件,深入讲解XAML基础语法,包括属性赋值、命名空间和事件绑定。最后通过按钮点击交互示例演示WPF应用程序运行流程,帮助开发者快速上手WPF开发,为后续学习布局系统和数据绑定等高级主题奠定基础。

Hare的博客 3287

期权定价模型系列[11]三叉树期权定价[trinomial model ]

三叉树期权定价方法简介

xiaowu1997的博客 1847

【天线与电波传播】电波传播部分 第7章 电波传播的基础知识3

菲涅尔区与菲涅尔带的基本知识

Chen59_2328的博客 1601

电流镜设计实战:从基础到高级技巧(附常见问题解决方案)

本文从工程实战角度,系统讲解了电流镜设计从基础原理到高级技巧的全过程。深入剖析了匹配精度、输出阻抗等核心矛盾,并详细介绍了共源共栅(Cascode)结构如何平衡电压裕度与输出阻抗。文章还重点探讨了工艺偏差、版图应力效应等实战中的“隐形杀手”,并提供了常见问题的解决方案与调试技巧,旨在帮助工程师设计出鲁棒性更强的模拟电路。

blockchain9miner的博客 732

把 ST03 的历史数据留得更久:ABAP Workload 统计保留期设置、原理与落地避坑指南

SAP ST03性能数据保留期配置指南 ST03/ST03N是SAP系统性能分析的核心工具,但默认数据保留期通常较短(3个月左右),难以满足跨季度对比、年度规划等需求。本文详细解析了ST03数据保留期的配置方法及注意事项: 数据存储机制:性能数据存储在监控库中,通过定期重组作业清理过期数据 配置路径:7.0+系统在"Workload Collector Database→Reorganization→Control"中按Profile分别设置 关键限制:保留期最大值建议不超过99,否则可

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 218

基于JeecgBoot 3.9.0 开源项目的企业管理平台

基于JeecgBoot 3.9.0 开源项目的企业管理平台

宁波阿成的博客 375

python利用IQR方法与3σ方法进行异常值处理(含代码)

python利用IQR方法进行异常值处理

weixin_46713695的博客 2031

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Android 蓝牙
下一篇: Android 相机,视频录制
dalongjun
博客等级 码龄11年 3粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值