欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android内存管理

程序员文章站 2022-07-10 12:10:46
android 内存优化是作为一个android开发人员必须要掌握的知识之一,它能够让我们的app更加的流程增加用户的体验感。 java内存分配策略: 1.静态存储区(方法...

android 内存优化是作为一个android开发人员必须要掌握的知识之一,它能够让我们的app更加的流程增加用户的体验感。

java内存分配策略:

1.静态存储区(方法区):主要存放静态数据、全局static数据和常亮。这块内存在程序编译时就已经分配好,并且在整个程序运行间都存在。

2.栈区:方法执行时被执行,方法体内的局部变量都在栈上创建,并在方法执行结束时这些局部变量所持有的内存将被自动释放。因为栈内存分配运算内置于处理器指令集中,效率很高,但是分配的内存是有限的。

3.堆区:又称为动态分配区,通常是值在程序运行时直接new出来的对象。这部分内存在不使用的时候将由java垃圾回收期来负责回收(new 出来的对象以及该对象中的所有成员变量都在堆内存中)。

tips:堆与栈的区别

栈中的变量生命周期随着方法的结束而结束,系统自动回收

堆内存由GC负责回收

举个例子:

public class Demo {
    private final String TAG = Demo.class.getSimpleName();//常量, 方法区
    private static int m = 0;//静态变量, 方法区
    private int n = 1;//成员变量, 堆区

    private void learn(){
        int k = 2;//局部变量, 栈区
        Demo demo = new Demo();// demo局部变量, 栈区; Demo实例,堆区
    }
}

// todo 垃圾回收机制