![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存
JohanMan
这个作者很懒,什么都没留下…
展开
-
Android 内存泄露分析
编程工具:Android Studio 分析内存工具:Android Studio和MAT内存泄露的例子:// MainActivity类 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {原创 2017-08-10 11:23:07 · 364 阅读 · 0 评论 -
Android 常见的内存泄露
当一个对象不再需要时,本应该被回收,而被另一个正在使用的对象(可能是静态对象,也有可能是匿名内部类对象,等等)引用导致不能正常被回收,就会一直存活在堆中,造成内存泄露。内存泄露会使程序造成程序OOM(Out Of Memory),导致应用Crash。单例造成的内存泄漏由于单例的静态特性,使得单例对象和应用的生命周期一样长。所以被单例对象引用的对象,如果不主动置为null释放对象,那么被引用的对象便和原创 2017-08-09 17:46:26 · 256 阅读 · 0 评论 -
Android 内存 - 垃圾回收(GC)机制
虽然Java大部分内存由垃圾回收器(GC)管理着,但是对内存的释放还是有必要知道一点的,毕竟对我们编程也是有一定的帮助的。例如,解决内存泄露问题等等!!GC回收哪个区域的垃圾这里所说的区域指的是运行时数据区,有5种:程序计数器,虚拟机栈,本地方法栈,堆,方法区。 我们一一分析哪个区域由GC管理: 程序计数器:这里只保存当前线程锁执行的字节行号,也就是执行到了哪里,只是一块很小的内存,不在GC管理范原创 2017-08-09 14:53:16 · 1360 阅读 · 0 评论 -
Android 内存 - 运行时数据区
Android程序运行时,产生的变量和状态,都会保存在运行时数据区。所以要理解内存管理,我们要先对运行时数据区有个了解。运行时数据区分为5个部分: 程序计数器 虚拟机栈 本地方法区 堆 方法区 程序计数器每个线程都有一个程序计数器,用于记录当前线程所执行的字节码行号,通俗的说,就是记录当前线程执行到了哪里。Java支持多线程执行程序,由于一个内核同一时间只能执行一条指令,也就是一个内核同一时间只能执原创 2017-08-09 09:14:01 · 625 阅读 · 0 评论