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

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

内容简介:在

参考资料

Google官方讲解视屏

背景介绍

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

需要避免内存抖动

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

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

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

内存抖动图

下面是避免发生 内存抖动

的几点建议:

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

总结

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


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

查看所有标签

猜你喜欢:

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

Programming Ruby中文版

Programming Ruby中文版

托马斯 / 孙勇、姚延栋、张海峰 / 电子工业出版社 / 2007-3 / 99.00元

《Programming Rudy》(中文版)(第2版)是它的第2版,其中包括超过200页的新内容,以及对原有内容的修订,涵盖了Ruby 1.8中新的和改进的特性以及标准库模块。它不仅是您学习Ruby语言及其丰富特性的一本优秀教程,也可以作为日常编程时类和模块的参考手册。Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简......一起来看看 《Programming Ruby中文版》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具