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

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

内容简介:在

参考资料

Google官方讲解视屏

背景介绍

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

需要避免内存抖动

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

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

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

内存抖动图

下面是避免发生 内存抖动

的几点建议:

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

总结

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


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

查看所有标签

猜你喜欢:

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

深入浅出React和Redux

深入浅出React和Redux

程墨 / 机械工业出版社 / 2017-4-28 / 69

本书作者是资深开发人员,有过多年的开发经验,总结了自己使用React和Redux的实战经验,系统分析React和Redux结合的优势,与开发技巧,为开发大型系统提供参考。主要内容包括:React的基础知识、如何设计易于维护的React组件、如何使用Redux控制数据流、React和Redux的相结合的方式、同构的React和Redux架构、React和Redux的性能优化、组件的测试等。一起来看看 《深入浅出React和Redux》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试