由于android系统作为手机管理的操作系统,内存作为非常的稀缺资源,把握内存就成为android系统管理的重要任务。对内存的管理和优化主要有两个方面:
一、在对象不需要的时候确保对象能够被及时销毁 二、存在的对象一定是有用,并且是可以被复用,并且不能存在多个副本内存的区分:
寄存器Registers:主要用于存储指令、地址和数据 栈Stack:存放基本类型的数据、对象的引用和函数地址等,并且由系统控制,访问速度快 堆Heap:存放对象本身和数组、由开发者自己控制,访问速度慢 静态域static field:存储静态变量 常量池constant pool:存储常量或字符串 堆和栈都是可以被开发者控制的内存区域,栈主要由虚拟机控制,变量的生命周期结束后,虚拟机就会释放变量占用的内存空间;堆由GC系统控制,变量生命周期结束后,由GC系统决定何时回收