众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定)。因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片、音频文件、视频文件等多媒体资源;由于Android系统对音频、视频等资源做了边解析便播放的处理,使用时并不...
分类:
移动开发 时间:
2015-04-13 16:25:11
阅读次数:
157
简介:LRU(LeastRecentlyUsed)最近最少使用页面置换算法,一种内存缓存机制。内部底层可以使用数组实现。因为手机分配给每一个程序的大小是固定的。 为什么要用:程序的运行所需的内存空间超过手机分配的空间时,就会发生oom(outofmenory)。所以会有一些保持内存大小的机制,...
分类:
其他好文 时间:
2015-04-13 16:18:51
阅读次数:
155
最近写的一个应用涉及到使用GridView显示图片,当使用BaseAdapter传统的的实现时,在真机上快速滚动时会出现OOM情况。
一个临时性的解决方案就是改动图片尺寸,减小内存。这种方法简单却不安全。如果图片够多,也存在依然OOM的情况。
一个有效的方法就是使用异步加载。获取应用程序最大可用内存: int maxMemory = (int) Runtime.getRuntime().maxM...
分类:
移动开发 时间:
2015-04-13 09:33:28
阅读次数:
194
在引进Compacting GC后,ART运行时优化了堆内存分配过程。最显著特点是为每个ART运行时线程增加局部分配缓冲区(Thead Local Allocation Buffer)和在OOM前进行一次同构空间压缩(Homogeneous Space Compact)。前者可提高堆内存分配效率,后者可解决内存碎片问题。本文就对ART运行时引进Compacting GC后的堆内存分配过程进行分析。...
分类:
其他好文 时间:
2015-04-13 01:45:17
阅读次数:
412
工作中遇到挺多需要分析内存泄露问题的情况,现在大致简要写下思路,等之后时间相对比较充裕再进行补充。1.明白内存泄露的判断依据?个人总结为:持续增加,只增不减!理解一下这8个字,配合几个命令和工具来确定一下你的应用是否存在内存泄露问题,这是很关键的,如果一开始就判断错误了,那么没有继续往下进行的理由。命令如下: adb shelldumpsys meminfo 应用包名 [当然,比较粗略地话,可以用...
分类:
移动开发 时间:
2015-04-09 23:53:05
阅读次数:
310
代码实现方式:(布局的背景图较大,可能在内存吃紧的时候造成oom或者奔溃,以最省内存的方式读取本地资源的图片)
relativeLayout_getprize = (RelativeLayout) findViewById(R.id.relativeLayout_getprize);
Bitmap readBitMap = BitmapUtil.readBitMap(this, R.drawa...
分类:
其他好文 时间:
2015-04-09 19:50:07
阅读次数:
132
DOM解析方式是将整个XML文档以document形式构架在内存中,当XML文档很大时,可能会造成OOM(内存溢出).而SAX则是一行行的去解析的,速度很快.DOM解析:1,通过DocumentBuilderFactory创建DOM解析工厂;2,由工厂获取DocumentBuilder解析器对象;3...
分类:
其他好文 时间:
2015-04-08 19:27:38
阅读次数:
180
产生原因OOM产生可能的原因
OOM产生的本质是什么
如何解决和避免OOM
内存泄露问题...
分类:
移动开发 时间:
2015-04-07 09:43:52
阅读次数:
116
上篇文章简单地介绍了listview的使用和优化,都是一些常见的优化技巧。但是listview优化还有一些重要的问题,那就是图片加载,异步加载的优化,因为图片占用内存较大,listview在滑动过程中很容易产生OOM的现象,下面我来给大家解释一下图片异步加载的优化思路。
总的来说有一下几个优化思路:
1,对Imageview使用setTag()方法来解决图片错位问题,这个Tag中设置的是图片的...
分类:
其他好文 时间:
2015-04-05 06:43:43
阅读次数:
166
android对于内存有一定的限制,很多手机上对内存的限制是完全不同的。我们的应用程序其实就是一个进程,这个进程是完全独立的,这个进程分配的内存是一定的,所以我们经常会遇到OOM的问题。但,你可能不知道的是,你可以指定应用程序的一些组件运行在不同的进程中,而不是那个被用于启动应用程序的。我们需要的仅...
分类:
移动开发 时间:
2015-04-04 13:35:48
阅读次数:
128