内存异常
文章平均质量分 79
comkingfly
这个作者很懒,什么都没留下…
展开
-
内存异常系列之单例模式导致内存泄露
最近在公司看一个算比较大的android项目的源码,发现了一个很严重的问题,就是项目里使用单例模式,构造函数要传入Context做参数的类,基本上都存在内存泄露问题。我想这个项目这么多人做也没有人发现问题,这问题应该会挺常见的,同时也挺严重的。存在内存泄露问题的一些代码片段像下面这样:Util.java public class Util { private C翻译 2012-03-06 10:41:10 · 1799 阅读 · 0 评论 -
内存异常系列之Android解决加载大图片时内存溢出的问题
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的翻译 2012-03-06 10:32:01 · 1069 阅读 · 0 评论 -
bitmap size exceeds VM budget 的解决办法分享
昨天遇到这个问题就是从一个输入流里调用BitmapFactory.decodeStream(this.getContentResolver().openInputStream(uri))得到一个bitmap报的错。第一次调用都没问题,第二次再次调用就会报上面那个内存溢出的问题。而且有的手机报有的手机不报。研究了半天终于解决。首先分析了下原因,应该是图片占用的内存超过了系统虚拟机可分配的最大限制。不翻译 2012-03-09 16:31:18 · 863 阅读 · 0 评论 -
How to discover memory usage of my application in Android
I would like to know how I can find the memory used on my Android application, programmatically.I hope there is a way to do it. Plus I would like to understand how to get the free memory of the ph翻译 2012-03-09 16:50:05 · 1008 阅读 · 0 评论 -
在Android 项目时的防止Memory leak 要注意的事项
一般来说,Java VM是会有Gargage Collect的。但是如果object在其他的object 有reference的话,那VM是不会做cleanup的。常见的例子是在Activity 上发生。因为在a) 由一个activity 跳到另一个activity 或是b)在screen rotation 时,Android 系统会新建一个新的Activity,而原先的Activ翻译 2012-03-21 16:20:13 · 778 阅读 · 0 评论 -
如何避免Android内存泄漏
至少在T-Mobile G1上Android应用在堆上分配的内存大小被限制16MB以内。对于手机来说,这是个不小的内存,但是这仍然远远不能满足一些开发者的需求。但是,即使你不打算使用所有的内存空间,你也应该尽可能地少用内存,从而使得其他应用能够运行而不是被杀掉。因为Android能够在内存中保持的应用越多,那么用户切换应用的速度就会越快。作为我工作的一部分,我在做android应用开发的时候也会陷翻译 2012-03-21 16:28:33 · 727 阅读 · 0 评论