资讯专栏INFORMATION COLUMN

性能优化4--Bitmap内存优化

番茄西红柿 / 2062人阅读

摘要:的内存则已经所有分配在堆上。而到了之后的平台,我们就能够将的内存全然放心的交给虚拟机管理了,我们仅仅须要保证对象遵守虚拟机的的回收规则就可以。缓存可以避免新建多个对象,避免内存的浪费。这种方式就是内存缓存。

1.Bitmap在Android虚拟机中的内存分配

1 在Android3.0之前,Bitmap的内存分配分为两部分,一部分是分配在Dalvik的VM堆中。而像素数据的内存是分配在Native堆中,而到了Android3.0之后。Bitmap的内存则已经所有分配在VM堆上。这两种分配方式的差别在于,Native堆的内存不受Dalvik虚拟机的管理。我们想要释放Bitmap的内存,必须手动调用Recycle方法。而到了Android 3.0之后的平台,我们就能够将Bitmap的内存全然放心的交给虚拟机管理了,我们仅仅须要保证Bitmap对象遵守虚拟机的GC Root Tracing的回收规则就可以。
View Code

 

2.缓存

有时候,可能需要在一个Activity里多次用到同一张图片。比如一个Activity会展示一些用户的头像列表,而如果用户没有设置头像的话,则会显示一个默认头像,而这个头像是位于应用程序本身的资源文件中的。
如果有类似上面的场景,就可以对同一Bitmap进行缓存。如果不进行缓存,尽管看到的是同一张图片文件,但是使用BitmapFactory类的方法来实例化出来的Bitmap,是不同的Bitmap对象。缓存可以避免新建多个Bitmap对象,避免内存的浪费。
经验分享:
    Web开发者对于缓存技术是很熟悉的。其实在Android应用开发过程中,也会经常使用缓存的技术。这里所说的缓存有两个级别,一个是硬盘缓存,一个是内存缓存。比如说,在开发网络应用过程中,可以将一些从网络上获取的数据保存到SD卡中,下次直接从SD卡读取,而不从网络中读取,从而节省网络流量。这种方式就是硬盘缓存。再比如,应用程序经常会使用同一对象,也可以放到内存中缓存起来,需要的时候直接从内存中读取。这种方式就是内存缓存。
View Code

 

3.压缩

 

 

 

https://www.jb51.net/article/36631.htm

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2963.html

相关文章

  • Bitmap优化详谈

    摘要:上面的代码没用过因为我是固定来取样的数据,为什么这个压缩方法叫采样率压缩是因为配合,先获取图片的宽高这个过程就是取样。 目录介绍 01.如何计算Bitmap占用内存 1.1 如何计算占用内存 1.2 上面方法计算内存对吗 1.3 一个像素占用多大内存 02.Bitmap常见四种颜色格式 2.1 什么是bitmap 2.2 Android常见是那种 2.3 常见四种颜色格式...

    jone5679 评论0 收藏0
  • Android 图片相关整理

    摘要:高斯模糊实现的代码设置高斯模糊代码设置模糊背景获取轮播图索引处的图片压缩图片压缩图片,宽高缩放图片高斯模糊图片高斯模糊建议模糊度在到之间得到模糊后的上下文半径将缩小后的图片做为预渲染的图片。 目录介绍 0.思考问题及解决方案 1.加载图片的压缩处理技术 2.网络url图片转换Bitmap保存到本地 2.1 直接通过http请求网络图片通过流转化成Bitmap 2.2 使用第三方库...

    darkerXi 评论0 收藏0
  • Java性能调优概述

    摘要:性能调优概述性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优盲目调优,风险远大于收益程序性能的主要表现点执行速度程序的反映是否迅速,响应时间是否足够短内存分配内存分配是否合理,是否过多地消耗内存或者存在内存泄漏启动时间程序 [TOC] Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性...

    ad6623 评论0 收藏0
  • Android性能优化问题总结

    摘要:性能优化第七篇严苛模式检测耗时与内存问题意思为严格模式,是用来检测程序中违例情况的开发者工具。但是用来评测一个应用是否真的卡顿存在两个问题,我们可以使用帧率检测。  性能优化这块,分为UI性能优化、内存优化、数据库优化、网络优化、耗电优化等等。可以从1.如何发现问题,2.怎么解决问题,3.解决效果对比,这几个方面去描述。举个简单例子——UI优化,可以从 UI出现什么问题(卡顿不流畅),怎么查...

    yibinnn 评论0 收藏0
  • 性能优化之MySQL调优篇

    摘要:显示处于不可中断的休眠的进程数量。我们可以实用内存数据库,替代他的功能。 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。 showImg(https://seg...

    NervosNetwork 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<