首页
学习
活动
专区
圈层
工具
发布

Android内存优化-Bitmap内存优化

在日常开发中,我们不免会使用到Bitmap,而bitmap确实实在在的是内存使用的 “大户”,如何更好的使用 bitmap,减少其对 App内存的使用,是我们开发中不可回避的问题。...基础了解 我们先了解一下,Bitmap到底占用多大的内存。 Bitmap作为位图,需要读入一张图片每一个像素点的数据,其主要占用内存的地方也正是这些像素数据。...Bitmap 中,存在一个 枚举类 Config,定义了Android 中支持的 Bitmap配置。...例如:一张 1024—1024像素的图片,采用ARG8888 格式存储,那么内存大小1024x1024x4=4m.如果 inSampleSize=2,即采样后图片内存大小为 512x512X4=1m...效果如下: 参阅(非常感谢): Android校招指南。 简书-Android-Bitmap内存优化。

2.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android内存优化

    虚拟机会频繁触发GC, 影响程序响应速度 3、内存占用大的程序容易被各种清理优化程序中止,用户也更倾向于卸载这些程序 Android应用的开发语言为Java,每个应用最大可使用的堆内存受到Android...系统的限制 Android每一个应用的堆内存大小有限       1、  通常的情况为16M-48M       2、  通过ActivityManager的getMemoryClass()来查询可用堆内存限制...没有的可以去http://www.eclipse.org/mat/downloads.php安装一下MAT 在Android 的调试环境DDMS下,找到Heap dump ? ?...例如View#setTag(int, Object)的内存泄漏https://code.google.com/p/android/issues/detail?...其他内存泄漏       1、Android DigitalClock引起的内存泄漏http://code.google.com/p/android/issues/detail?

    1.9K90

    android内存优化

    Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的(当然现在已经有几百兆的内存可以用了——译者注)。它包括电话本身占用的和开发者可以使用的两部分。...即使你没有占用全部内存的打算,你也应该尽量少的使用内存,以免别的应用在运行的时候关闭你的应用。Android能在内存中保持的应用越多,用户在切换应用的时候就越快。...作为我的一项工作,我仔细研究了Android应用的内存泄露问题,大多数情况下它们是由同一个错误引起的,那就是对一个上下文(Context)保持了长时间的引用。    ...在一个合格的Android应用中,你通常能够用到两种上下文(Context):活动(Activity)和应用(Application)。...这样的结果就是Android会从资源中重新载入应用的UI。现在想象一下,你写了一个应用,有一个非常大的位图,并且你并不想在每次旋转时都重新载入。

    1.4K70

    Android 内存优化杂谈

    作者:shwenzhang Android 内存优化是我们性能优化工作中比较重要的一环,这里其实主要包括两方面的工作: 优化RAM,即降低运行时内存。...本文的着重点为第一点,总结概述降低应用运行内存的技巧。在这里我们不再细述PSS、USS等概念与Android应用的内存管理,如对这部分内容感兴趣,可自行阅读文末的参考文章。...当前微信内存监控体系中也存在一些不尽人意的地方,在未来的日子里也同样需要努力去优化。...参考文章 [1].Android内存管理 [2].leakcanary [3].AndroidExcludedRefs [4].fresco [5].优化安卓应用内存的神秘方法以及背后的原理 [6].Android...性能优化之内存篇 本文来源于:WeMobileDev 微信公众号

    4.3K10

    Android内存优化之图片优化

    关于图片优化,大概如下 为什么要进行图片优化 相信大概刚开始学习Android的时候有过图片过大而直接报错的情况,下面简单介绍一下OOM问题,Android支持的图片格式及图片优化的几种方式...:Android系统的进程(APP级别)有最大的内存限制,超过这个限制系统就会抛出)OOM错误 图片OOM问题产生的几种情况 1.一个页面一次加载过多的图片 2.加载大图片没有进行压缩 3.Android...所以由上可见,图片储存优化的方式如下 1.尺寸优化:通过减小宽高来实现 2.质量压缩:改变一个像素占用的内存(优化解码率) 3.内存重用:需要用到inBitmap属性 先从尺寸压缩开始说起 主要起作用的为两个方法...为第一张图的Bitmap 然后小提一下Bitmap的内存管理 在3.0前,对于像素数据的支持保存在本地内存中, 在3.0后,像素数据和位图都储存在Dalvik堆中 以上为图片的储存优化,接下来介绍图片加载优化...当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅,减少因图片内存占用而引发的OOM。 加载Gif图和WebP动图在任何一个Android开发者眼里看来都是一件非常头疼的事情。

    78600

    Android性能优化之内存优化

    Tips:本篇是《深入探索Android内存优化》的基础篇,如果没有掌握Android内存优化的同学建议系统学习一遍。...众所周知,内存优化可以说是性能优化中最重要的优化点之一,可以说,如果你没有掌握系统的内存优化方案,就不能说你对Android的性能优化有过多的研究与探索。...本篇,笔者将带领大家一起来系统地学习Android中的内存优化。...注意 分配LruCache大小时应考虑应用剩余内存有多大。 4、图片内存优化 在Android默认情况下,当图片文件解码成位图时,会被处理成32bit/像素。...11、其它的内存优化注意事项 除了上面的一些内存优化点之外,这里还有一些内存优化的点我们需要注意,如下所示: 尽使用static final 优化成员变量。 使用增强型for循环语法。

    3.5K30

    Android 内存优化总结&实践

    Android开发发展到今天也是已经比较成熟,各种新框架,新技术也是层出不穷,而内存优化一直都是Android开发过程一个不可避免的话题。...恰好最近做了内存优化相关的工作,这里也对Android内存优化相关的知识做下总结。...本文将会对Android内存优化相关的知识进行总结以及最后案例分析(一二部分是理论知识总结,你也可以直接跳到第三部分看案例): 一、 Android内存分配回收机制 二 、Android常见内存问题和对应检测...三、 JOOX内存优化案例 四 、总结 工欲善其事必先利其器,想要优化App的内存占用,那么还是需要先了解Android系统的内存分配和回收机制。...上面介绍了Android系统内存分配和回收机制,同时也列举了常见的内存问题,但是当我们接到一个内存优化的任务时,我们应该从何开始?下面是一次内存优化的分享。 1. 首先是解决大部分内存泄露。

    2.6K71

    Android性能优化系列之内存优化

    Android性能优化系列之布局优化,本篇博客,我将介绍内存优化的相关知识。...关于这个暂停的时间,Android在2.3的版本当中进行过一次优化,在2.3之前GC操作是不能并发进行的,也就是系统正在进行GC,那么应用程序就只能阻塞住等待GC结束。...而自2.3之后,GC操作改成了并发的方式进行,就是说GC的过程中不会影响到应用程序的正常运行,但是在GC操作的开始和结束的时候会短暂阻塞一段时间,不过优化到这种程度,用户已经是完全无法察觉到了。...内存泄漏的检测 说了那么多关于内存分配的知识,接下来我们就看看Android给我们提供了哪些工具来解决内存泄漏的问题 Allocation Tracker(Device Monitor) Allocation...好了,关于内存泄露的相关内容就介绍到这,关于一些可能导致内存泄漏的原因,可以参考我的另外一篇博客Android中常见的内存泄露

    1.9K50

    探索 Android 内存优化方法

    [1240] 前言 这篇文章的内容是我回顾和再学习 Android 内存优化的过程中整理出来的,整理的目的是让我自己对 Android 内存优化相关知识的认识更全面一些,分享的目的是希望大家也能从这些知识中得到一些启发...Android 应用运行在 Dalvik 虚拟机上,而 Dalvik 虚拟机是基于 JVM 优化而来的,因此只有了解了 Java 的内存管理机制,才能更好地理解 Android 的内存管理机制,如果你对这一块还不熟悉的话...本文的内容可分为两部分,第一部分讲的是 Android 内存管理机制相关的一些知识,第二部分讲的是内存问题的解决与内存优化方法,大家可以根据自己的需要选择性地阅读。 1. 为什么要做内存优化?...内存优化就是对内存问题的一个预防和解决,做内存优化能让应用挂得少、活得好和活得久。...导致 Android 应用 Crash 的原因有很多种,而做内存优化就能让我们的应用避免由内存问题引起的 Crash。

    1.9K00

    Android 性能优化 & 内存篇

    Android内存分析方向: Java 内存分析 Java中的内存泄露主要特征:可达,无用 无用指的是创建了但是不再使用之后没有释放 能重用但是却创建了新的对象进行处理 Native 内存分析 堆中new...com.i2finance.shexpress/files/paanydoor_resource_3.5.0.36.jar:/resources.arsc: 67K meminfo的信息中各字段都是什么含义, 要理解各字段含义,我们才好进行内存的优化...使用Android Studio 打开Android Studio 的Android Monitor , 选中Memory 标签: ?...2.2 Debug Bitmap 图片一直是内存占用的一个大头,也是引起内存泄露,OOM的常客。所以对图片的分析是需要非常了解,这样才能更好的优化项目。...我们需要知道该图片是哪张图片,这样才能好优化相关的图片代码。 Bitmap类型 在mat中通常能够看到bitmap类型,占用了大量的内存,如下面这张图片,在内存中占用2M。

    2.9K60

    探索 Android 内存优化方法

    1 前言 这篇文章的内容是我回顾和再学习 Android 内存优化的过程中整理出来的,整理的目的是让我自己对 Android 内存优化相关知识的认识更全面一些,分享的目的是希望大家也能从这些知识中得到一些启发...Android 应用运行在 Dalvik 虚拟机上,而 Dalvik 虚拟机是基于 JVM 优化而来的,因此只有了解了 Java 的内存管理机制,才能更好地理解 Android 的内存管理机制,如果你对这一块还不熟悉的话...https://juejin.im/post/5d3a870df265da1b855c9d41 本文的内容可分为两部分,第一部分讲的是 Android 内存管理机制相关的一些知识,第二部分讲的是内存问题的解决与内存优化方法...2 为什么要做内存优化? 内存优化就是对内存问题的一个预防和解决,做内存优化能让应用挂得少、活得好和活得久。...导致 Android 应用 Crash 的原因有很多种,而做内存优化就能让我们的应用避免由内存问题引起的 Crash。

    1.4K40

    【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )

    文章目录 一、 内存泄漏排查 ( Android Profiler 工具 ) 二、 Android Profiler 内存监测相关功能 三、内存快照分析 内存泄漏原理 : 长生命周期对象 , 持有短生命周期对象的引用...一、 内存泄漏排查 ( Android Profiler 工具 ) ---- 1....内存泄漏排查 : 开发过程中 , 应该每隔一段时间都要检查下内存情况 , 连上手机 , 从 Android Studio 中安装应用到手机中 , 打开 Android Profiler 工具 , 查看...Android Profiler 工具使用前提 : 只有从当前 Android Studio 中通过 adb 工具安装运行的应用 , 才能再 Android Studio 底部显示 Android Profile...Memory 区域 , 红框框起来的区域 , 即可进入如下内存监控界面 ; 二、 Android Profiler 内存监测相关功能 ---- 请求执行 GC 垃圾回收操作 ( 重要功能能 ) :

    10K40

    Android | App内存优化 之 JVM & Android内存管理机制

    ---- Android内存管理机制 内存(按需)弹性分配 分配值与最大值受具体设备影响; 不同配置的手机,其单个APP可以使用的内存是不同的; 比如多者有单个APP可以使用512M的内存的,少者128M..., 一个APP只用了200M,再要申请一个几十M的内存时, 系统也抛出OOM内存溢出异常; Dalvik 和 ART的区别(关注点:程序运行时、GC算法) 参考链接: Android 5.0:...Android ART Android 4.4之前,Android系统一直都是在Dalvik 虚拟机上的, 从Android 4.4开始开始引入ART,到5.0已经成为默认选择。...ART,Android Runtime 的简称。 优点: 通过在安装应用程序时,自动对程序进行代码预读取编译, 让程序直接编译成机器语言,运行时直接运行 无需再做转化,!!!!...---- 参考自 Android之内存管理及优化 01 详析一次鹅厂一面 | 移动端开发岗题解 要点提炼| 理解JVM之内存管理机制 慕课网 java存储机制(栈、堆、方法区详解)

    2.2K10

    Android性能优化(四)之内存优化实战

    在上一篇《Android性能优化(三)之内存管理》中我们对Android的内存管理有了一定的认识,本篇文章从实际出发对内存进行优化,主要包含以下部分: 1....一般用于追踪某项操作之后的内存分配,调整相关的方法调用来优化app性能与内存使用; D:剩余可用内存; E:已经使用的内存。...Out Of Memory 2.1 Android OOM Android系统的每个进程都有一个最大内存限制,如果申请的内存资源超过这个限制,系统就会抛出OOM错误。...5.2 使用优化过的集合 Android API当中提供了一些优化过后的数据集合工具类,如SparseArray,SparseBooleanArray,以及LongSparseArray等,使用这些API...参考: Android性能优化典范 Manage Your App’s Memory

    2.2K30

    Android内存优化(三)避免可控的内存泄漏

    前言 内存泄漏向来都是内存优化的重点,它如同幽灵一般存于我们的应用当中,有时它不会现身,但一旦现身就会让你头疼不已。...1.什么是内存泄漏 我们知道,每个应用程序都需要内存来完成工作,为了确保Android系统的每个应用都有足够的内存,Android系统需要有效地管理内存分配。...当内存不足时,Android运行时就会触发GC,GC采用的垃圾标记算法为根搜索算法,如下图所示。 ? 从上图看以看出,Obj4是可达的对象,表示它正被引用,因此不会标记为可回收的对象。...内存泄漏产生的原因,主要分为三大类: 1.由开发人员自己编码造成的泄漏。 2.第三方框架造成的泄漏。 3.由Android 系统或者第三方ROM造成的泄漏。...2.6 WebView 不同的Android版本的WebView会有差异,加上不同厂商的定制ROM的WebView的差异,这就导致WebView存在着很大的兼容性问题。

    1.4K100

    【详解】Android性能与内存优化

    Android性能与内存优化在移动应用开发中,性能和内存管理是至关重要的两个方面。一个流畅、响应迅速的应用不仅能够提供更好的用户体验,还能有效降低应用的崩溃率,提高用户满意度。...本文将探讨几种常见的Android性能与内存优化策略,帮助开发者提升应用的质量。1. 减少布局层级复杂的布局层级会增加渲染时间,影响应用的启动速度和运行效率。...这些工具可以帮助你识别CPU、内存、网络等方面的瓶颈,从而采取针对性的优化措施。在Android应用开发中,性能和内存优化是确保应用流畅运行、提高用户体验的关键因素。...开发中,性能和内存优化是非常重要的方面,它们直接影响到应用的用户体验。...以下是一些常见的代码层面的优化技巧,可以帮助提高应用的性能和减少内存使用:1.

    74700
    领券