Android 内存泄漏
三个皮
工程师
展开
-
Android内部类,静态内部类,匿名内部类
1 内部类:内部类是建立在外部类里面的,可以调用外部类的方法,但是外部类到不可以调用内部类的private属性,方法等。内部类持有外部内的原因可以理解为初始化一个内部类的前提是先初始化一个外部类内部类 内部类名 = new 外部类. new 内部类内部类的使用一般是因外这个类的使用限于在外部类上使用,其他地方也不需要使用2 静态内部类静态内部类并不是一开始就创建的!它与静...原创 2018-03-29 20:40:53 · 1411 阅读 · 0 评论 -
JAVA 堆栈
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存栈(stack)栈的存储速度比堆快,仅次于寄存器,栈数据可以共享,栈中存放的数据的数据大小的生命周期是确定的,所以栈中存放的数据一般是基本数据类型。存在栈中的数据超出了作用域之后,立马就会释放掉相关的内存空间。栈内存:在函数中定义的基本类型变量和引用变量都在栈内存中分配 堆(heap)堆的存储是动态分配内存的,所以存储速度较慢,Java的垃圾回...转载 2018-03-28 19:51:22 · 152 阅读 · 0 评论 -
Android内存泄漏常见情况
Android内存中的泄漏主要是由堆内存造成的。1 单例模式context的使用,由于引用的context的单例模式生命周期长于即将销毁的Activity导致的内存泄漏。建议使用Application的context。2 静态类强引用了某个Activity导致Activity无法被回收。3 非静态内部类的使用,非静态内部类和匿名内部类都会隐式的持有其外部类的引用。建议使用静态内部类加弱应用的方式。...原创 2018-03-31 11:21:11 · 166 阅读 · 0 评论 -
Android WebView Memory Leak WebView内存泄漏
转载自 https://my.oschina.net/zhibuji/blog/100580在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面后,即使在包含该webview的Activity的destroy()方法中,使用webview.destroy();webview=null;对内存占回收用还是没有任何效果。有人说,一旦在...转载 2018-03-31 11:39:45 · 251 阅读 · 0 评论 -
内存泄露分析之MAT工具使用
MAT工具使用理解相关概念在了解MAT工具之前,我们需先对以下几个概念有所认知:1)强引用、弱引用、软引用、虚引用2)Shallow Size、Retained Size、Heap Size和AllocatedMAT工具实战看完1)、2)两篇博客,相信大家此时对几个概念已具备了一定认知,下面就进入正题MAT工具的使用,说到MAT工具(Memory Analyzer Tool),首先是工具的获取与安...转载 2018-05-29 22:08:04 · 165 阅读 · 0 评论