内存

RAM:

  • 寄存器(Registers)
    速度最快的存储场所,因为它存在处理器内部,在程序中无法控制
  • 栈(Stack)
    存放基本数据类型及对象的引用,但对象本身不存放在栈中,而是存在堆中。
  • 堆(Heap)
    用来存放由new创建的对象和数组。在堆分配的内存,由java虚拟机的自动gc来管理.
  • 静态存储区(Static Field)
    指在固定的位置存放应用程序运行时一直存在的数据(如静态变量)。

问题:

  1. 栈和堆的区别:
    栈:在定义一个变量时,java虚拟机就会在栈中为该变量分配内存空间,当该变量的作用域结束后,这部分内存空间就会马上被用作新的空间进行分配。
    堆:使用new方式创建的一个对象,就会在堆中为这个对象分配内存空间,即使随着对象的作用域结束,
  2. 内存分析
    所谓的内存分析就是对Heap中的内存状态分析
    获取大小
 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
int heapSize = am.getLargeMemoryClass();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容