赞
踩
内存分配
dalvik 5.0之前
art 5.0之后用
根据运行的特定的数据类型 不同分配内存
讲下 GC 回收导致 画面卡顿的问题:
比如自定义view 中
绘制第一个画面 ,绘制完 以后 再绘制第二个画面 把第一个页面会的回收掉.时间16毫秒
一般手机 刷新频率60hz, 1秒钟 刷新60次 , 那么 每隔16ms 就需要重新绘制一次 ,假如自定义view的计算超过16ms ,那么就会形成卡顿的情况 ,第二个画面就没有刷新上去. 就会形成卡顿.
例如 : 在一个长期运行循环的最内侧创建对象, 那么就会不断增加,很多数据会污染内存堆, 导致GC 回收,由于 这中额外的内存压力导致 GC非正常回收,导致多次回收.就形成卡顿.
需要内存优化.
作用 : 跟踪APP内存变化的情况.
含义: 内存 监测
视图方式观看 内存变化.
作用: 获取内存堆 的快照.
含义: 堆栈快照
位置 : 在device monitor 中
通过 heap viewer 查看
说下内存泄露的情况:
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出.
http://blog.csdn.net/cyq1028/article/details/19980369 这篇文章讲的不错 不过他用的是Eclipse的查看 工具,我用的studio . studio 的这个比较好.
解决方式: 最简单的方式. 可以添加一个清理方法. 防止内存泄露 .
解决: 跟踪内存分配
含义: 分配-跟踪
最重要的功能 :
可以跟踪出现问题的源代码, 上面两个工具只能观察现象.
http://www.th7.cn/Program/Android/201602/764859.shtml 所用工具的具体使用
含义: 分配 视图
http://blog.jobbole.com/78995/ 连接
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。