【性能】【内存】GC解读

一、背景

Android系统的APP运行需要依赖ART虚拟机(Android Runtime),ART虚拟机的主要作用是给APP的java代码提供运行环境,其中编译、执行、垃圾回收(GC)模块是ART虚拟机的重中之重。

CPU只能访问其寄存器(Register)和内存(Memory), 无法直接访问硬盘(Disk)。 存储在硬盘上的数据必须首先传输到内存中才能被CPU访问。从访问速度来看,对寄存器的访问非常快,通常为1纳秒; 对内存的访问相对较慢,通常为100纳秒(使用缓存加速的情况下);而对硬盘驱动器的访问速度最慢,通常为10毫秒。

寄存器(Register):CPU内部的高速存储区域;

当一个程序加载到内存中时,它由四个内存区域组成: 

  • 堆栈(Stack):存储由该程序的每个函数创建的临时变量
  • 堆(Heap):该区域特别适用于动态内存分配
  • 数据(Data):存储该程序的全局变量和静态变量
  • 代码(Code):存储该程序的指令

二、GC是JVM内存回收机制

和GC有关的一些指标

例如某手机的gc卡顿问题时,发现他很容易触发GC_FOR_MALLOC,是分配对象内存不足时导致的。

可是我们又设置了很大的堆Size为什

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值