内存探究记录
由于android系统作为手机管理的操作系统,内存作为非常的稀缺资源,把握内存就成为android系统管理的重要任务。对内存的管理和优化主要有两个方面:
一、在对象不需要的时候确保对象能够被及时销毁
二、存在的对象一定是有用,并且是可以被复用,并且不能存在多个副本
内存的区分:
寄存器Registers:主要用于存储指令、地址和数据
栈Stack:存放基本类型的数据、对象的引用和函数地址等,并且由系统控制,访问速度快
堆Heap:存放对象本身和数组、由开发者自己控制,访问速度慢
静态域static field:存储静态变量
常量池constant pool:存储常量或字符串
堆和栈都是可以被开发者控制的内存区域,栈主要由虚拟机控制,变量的生命周期结束后,虚拟机就会释放变量占用的内存空间;堆由GC系统控制,变量生命周期结束后,由GC系统决定何时回收
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。