【拒绝一问就懵】之没听说过内存抖动吧

栏目: IOS · Android · 发布时间: 7年前

内容简介:在

参考资料

Google官方讲解视屏

背景介绍

【拒绝一问就懵】之你多少要懂点内存回收机制   中我提到过  内存抖动  会引起频繁的GC,从而使UI线程被频繁阻塞,导致画面卡顿。这次我们就聊聊内存抖动。

需要避免内存抖动

内存抖动 是由于短时间内有大量对象进出

Young Generiation区导致的,它伴随着频繁的GC。通常存在内存抖动时,我们可以在Android Studio 的 Monitors 中看到如下场景:

【拒绝一问就懵】之没听说过内存抖动吧

内存抖动图

下面是避免发生 内存抖动

的几点建议:

  • 尽量避免在 循环体 内创建对象,应该把对象创建移到 循环体 外。
  • 注意自定义View的 onDraw() 方法会被频繁调用,所以在这里面不应该频繁的创建对象。
  • 当需要大量使用Bitmap的时候,试着把它们缓存在数组中实现复用。
  • 对于能够复用的对象,同理可以使用 对象池 将它们缓存起来。

总结

总之,因为 内存抖动 是由于大量对象在短时间内被配置而引起的,所以我们要做的就是谨慎对待那些可能会大量创建对象的情况。


以上所述就是小编给大家介绍的《【拒绝一问就懵】之没听说过内存抖动吧》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ECMAScript6入门

ECMAScript6入门

阮一峰 / 电子工业出版社 / 2014-8 / 49.00元

《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。一起来看看 《ECMAScript6入门》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具