安卓内存问题---解决内存溢出

原创 2016年06月01日 16:36:40

最近几天,发现APP OOM了,惊出一身冷汗有没有。。。

网上一查,studio可以检查内存,果断走起


运行APP,切换界面,发现APP内存不断上涨。泄露有木有。要加班的节奏啊

新版的studio,确实很强大,可以检测内存泄露问题,

步骤:

概念:内存泄露就是说:退出界面,本该通过GC回收的,因为存在某种引用而不能回收。运行studio会发现,当切换某个界面的时候,内存不会降到原来水平,一直有残留,这肯定有泄漏了。

反复的点击切换有泄漏的界面,。点击dump java heap 按键,studio就开始工作了


结束后会生成prof文件,打开


内存情况一目了然。但还是不大只能,后来使用的

LeakCanary

很简单好用

GitHub地址:https://github.com/square/leakcanary

In your build.gradle:

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
   testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
 }

In your Application class:

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    LeakCanary.install(this);
  }
}
就可以了,安装点击切换界面,会自动检测泄漏问题,然后一点点处理吧。


版权声明:本文为博主原创文章,未经博主允许不得转载。

android中常见的内存泄漏和解决办法

android中的内存溢出估计大多数人在写代码的时候都出现过,其实突然觉得工作一年和工作三年的区别是什么呢,其实干的工作也许都一样,产品汪看到的结果也都一样,那区别就是速度和质量了。写在前面的一点儿想...
  • wanghao200906
  • wanghao200906
  • 2015年12月29日 15:10
  • 9825

彻底解决Java处理图片时,BufferedImage内存溢出的解决方案

最近系统总数无原因出现内存溢出问题,我程序内会读取一张图片,先压缩图片大小,然后转成byte数组写入到数据库 但是经过大量测试调查,在压缩图片时使用了Java的java.awt.image.Buf...
  • dqb4531
  • dqb4531
  • 2017年11月06日 14:49
  • 64

解决Bitmap导致的内存溢出问题

最近在做一个手机笔记本,遇到添加大量的本地图片到GridView以及经常切换到多图片的Activity,出现OOM的问题,现在总结一下解决的办法。 首先OOM出现的原因很大程度上是很多Bitmap对...
  • u013121055
  • u013121055
  • 2015年08月17日 16:43
  • 1454

android中常见的内存溢出和解决办法

 android中的内存溢出估计大多数人在写代码的时候都出现过,其实突然觉得工作一年和工作三年的区别是什么呢,其实干的工作也许都一样,产品汪看到的结果也都一样,那区别就是速度和质量了。 写在前...
  • sinat_29255093
  • sinat_29255093
  • 2016年09月17日 07:02
  • 5013

android有效解决加载大图片内存溢出的问题

android有效解决加载大图片内存溢出的问题 博客分类: android 相关 Android 尽量不要使用setImageBitmap或setImageResource或Bitma...
  • u013338165
  • u013338165
  • 2014年12月01日 09:57
  • 1138

C++编程中如何防止内存溢出问题?

1. 良好的编程习惯是预防内存漏洞的根本 2. 正确申请和释放内存空间。 3. 记得在每个可能的出口检查指针 一、为什么会出现内存溢出问题? 导致内存溢出问题的原因有很多,比如...
  • zkl99999
  • zkl99999
  • 2015年05月04日 21:08
  • 1939

Java中常见内存溢出错误及处理方法

相信有一定JAVA开发经验的人或多或少都会遇到OutOfMemoryError的问题,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识。   在解决Java内存溢出问题...
  • ILOVESMJ
  • ILOVESMJ
  • 2016年09月18日 18:01
  • 1674

关于Winform中rdlc报表内存溢出问题解决方案

winform rdlc 内存泄漏
  • cyber_wjf
  • cyber_wjf
  • 2015年10月10日 15:51
  • 1147

jvm内存溢出问题解决

一、内存溢出类型   1、java.lang.OutOfMemoryError: PermGen space   JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在J...
  • yancao952
  • yancao952
  • 2015年12月06日 21:57
  • 1670

Volley的网络请求有内存溢出现象学到的一点知识

今天进行程序内存溢出/泄露测试,使用的是LeakCanary,发现除了几个上一个开发者开发习惯问题(什么都喜欢使用静态变量,而且是public的到处调用)外,基本都是报Volley的错误监听回调有溢出...
  • xfnbing
  • xfnbing
  • 2015年12月19日 14:56
  • 1314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓内存问题---解决内存溢出
举报原因:
原因补充:

(最多只允许输入30个字)