我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么进行Bitmap资源优化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么进行Bitmap资源优化

这篇文章将为大家详细讲解有关怎么进行Bitmap资源优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

优化原因

即 为什么要优化图片Bitmap资源,具体如下图:

怎么进行Bitmap资源优化


优化方向

本文将从 以下方面优化图片Bitmap资源的使用 & 内存管理:

怎么进行Bitmap资源优化


具体优化方案

下面,我将详细讲解每个优化方向的具体优化方案

怎么进行Bitmap资源优化

下面,我将详细讲解上述各个方案。

1 使用完毕后 释放图片资源

优化原因:使用完毕后若不释放图片资源,容易造成内存泄露,从而导致内存溢出

优化方案:

a. 在 Android2.3.3(API 10)前,调用 Bitmap.recycle()方法

b. 在 Android2.3.3(API 10)后,采用软引用(SoftReference)

具体描述:在 Android2.3.3(API 10)前、后,Bitmap对象 & 其像素数据 的存储位置不同,从而导致释放图片资源的方式不同,具体如下图:

怎么进行Bitmap资源优化

注:若调用了Bitmap.recycle()后,再绘制Bitmap,则会出现Canvas: trying to use a recycled bitmap错误。

2 根据分辨率适配 & 缩放图片

优化原因:若 Bitmap 与 当前设备的分辨率不匹配,则会拉伸Bitmap,而Bitmap分辨率增加后,所占用的内存也会相应增加,主要因为Bitmap 的内存占用 根据 x、y的大小来增加的。

优化方案:

怎么进行Bitmap资源优化

3 按需 选择合适的解码方式

优化原因:不同的图片解码方式 对应的 内存占用大小 相差很大,具体如下

怎么进行Bitmap资源优化

特别注意:

位图位数越高,代表其可存储的颜色信息越多,图像越逼真

一般情况下,使用ARGB_8888,其最占内存 = 1个像素占4字节

示例:若有1张480x800的图片,格式 = ARGB_8888,将会占用1500KB的内存

优化方案:根据需求 选择合适的解码方式,需注意的是:

使用参数:BitmapFactory.inPreferredConfig 设置

默认使用解码方式:ARGB_8888

4 设置 图片缓存

优化原因:重复加载图片资源耗费太多资源(CPU、内存 & 流量)

优化方案

怎么进行Bitmap资源优化

关于“怎么进行Bitmap资源优化”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么进行Bitmap资源优化

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

下载Word文档

猜你喜欢

怎么进行Bitmap资源优化

这篇文章将为大家详细讲解有关怎么进行Bitmap资源优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 优化原因即 为什么要优化图片Bitmap资源,具体如下图:2. 优化方向本文将从 以下方面优化图
2023-06-04

如何进行C++代码的资源优化?

如何进行C++代码的资源优化?在计算机编程中,资源优化是一项非常重要的工作。资源的优化可以帮助我们提高程序的性能、减少内存占用以及节省宝贵的计算资源。在C++编程中,我们可以采取一些方法来进行代码的资源优化,本文将介绍一些常用的方法和技巧。
如何进行C++代码的资源优化?
2023-11-04

怎么在Android应用中利用Bitmap对图片进行优化

这篇文章给大家介绍怎么在Android应用中利用Bitmap对图片进行优化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言在Android开发过程中,Bitmap往往会给开发者带来一些困扰,因为对Bitmap操作不慎
2023-05-31

如何在PHP项目中进行性能调优和资源优化?

如何在PHP项目中进行性能调优和资源优化?随着互联网的高速发展,越来越多的应用程序采用了PHP作为开发语言。由于PHP的易用性和灵活性,许多开发人员选择使用它来构建自己的网站和应用程序。然而,由于PHP的动态特性和解释性质,一些开发人员可能
如何在PHP项目中进行性能调优和资源优化?
2023-11-03

怎么对进行SpringBoot优化

这期内容当中小编将会给大家带来有关怎么对进行SpringBoot优化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spri
2023-05-31

怎么对myeclipse8.5进行优化

这篇文章将为大家详细讲解有关怎么对myeclipse8.5进行优化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。取消自动validationvalidation有一堆,什么xml、jsp、j
2023-05-31

Vite图片资源打包优化怎么实现

这篇文章主要讲解了“Vite图片资源打包优化怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vite图片资源打包优化怎么实现”吧!Vite是一种现代化的前端构建工具,它的打包速度非常快
2023-07-06

Dom节点怎么进行优化

小编给大家分享一下Dom节点怎么进行优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!DOM操作对性能影响最大是因为它导致了浏览器的重绘和回流,我们都知道页面UI
2023-06-14

Linux怎么进行启动优化

本篇内容介绍了“Linux怎么进行启动优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下面现介绍一下运行次序和运行级别:一个 Linux
2023-06-10

怎么对电脑进行优化

小编给大家分享一下怎么对电脑进行优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!电脑特别卡,该如何调整,这个问题从两方面来考虑,一个是硬件,一个是软件。硬件:硬
2023-06-28

Oracle怎么进行索引优化

Oracle进行索引优化主要通过以下几种方式来实现:使用合适的索引类型:Oracle支持多种类型的索引,包括B树索引、位图索引、函数索引等。根据查询的特点和数据的情况选择合适的索引类型能够提高查询性能。创建复合索引:如果查询中涉及多个列,可
Oracle怎么进行索引优化
2024-04-09

使用struts2怎么对静态资源进行映射

这篇文章给大家介绍使用struts2怎么对静态资源进行映射,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在struts2框架中有一些它所需要的公共的静态内容,比如说js文件和一些css文件。当框架需要这些静态内容的时候
2023-05-31

利用docker怎么对容器资源进行限制

利用docker怎么对容器资源进行限制?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。内存限制Docker 提供的内存限制功能有以下几点:1、容器能使用的内存和交换分区大小。2、
2023-06-07

网站怎么进行结构优化

小编给大家分享一下网站怎么进行结构优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一、页面结构的普通化页面结构的普通化简单来讲就是说页面要满足大多数用户的访问
2023-06-10

Cassandra中怎么进行性能优化

Cassandra 是一个高性能、分布式的 NoSQL 数据库,但是在处理大量数据时可能会遇到性能问题。以下是一些优化 Cassandra 性能的方法:数据模型设计优化:良好的数据模型设计是提高 Cassandra 性能的关键。使用合适的数
Cassandra中怎么进行性能优化
2024-04-09

怎么对图片进行SEO优化

这篇文章主要介绍了怎么对图片进行SEO优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。怎么让搜索引擎更好的识别图片内容呢?能让搜索引擎识别图片的内容,最好的方法就是加上一个
2023-06-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录