android 内存性能优化笔记

1.对于android GC的一些知识:

1.Android系统里面有一个Generational Heap Memory的模型,对于新创建的对象放在Young Generation区域,这个区域的对象通常都是会快速被创建      并且很快被销毁回收的,同时这个区域的GC操作速度也是比Old Generation区域的GC操作速度更快的。

2.GC在回收时候所有线程都会暂停,所以频繁GC会造成卡顿,android 为每个应用都分配了内存阈值,ActivityManager.getMemoryClass()可以用来查询当前应用的Heap Size阈值,这个方法会返回一个整数,表明应用的Heap Size阈值是多少MB(Megabates)。

3.匿名内部类,这可是安卓内存溢出的大大大头,先了解下匿名内部类吧:写法简单超级省事,但是必须牢记它会持有外部类的引用,如果内部类里面有静态变量长期持有外部类引用就会导致GC不掉,这下就溢出了。


2.DDMS简单实用笔记
  heap:点开后点击GC,观察data object 和total size是否一致在增长,如果增长表示有溢出,如果稳定表示合格。
  mat:有两个值需要记住,Shallowheap和Retained heap。Shallowheap是只一个对象所占的内存,Retained heap是只一个对象能回收的内存,
打个比方一个对象本身占用4M,这个对象又引用了其他3M的对象,当这个对象回收时Retained heap有可能是7M。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值