垃圾回收机制

  1. 标记清除(最常用的方式)
    当变量进入环境时,就将这个变量标记为'进入环境',从逻辑上讲,永远不能释放进入环境的变量所在的内存,因为只要执行流进入相应的环境,就有可能用到它们。
    而当变量离开环境时,将其标记为'离开环境'。

  2. 引用计数
    引用计数的含义就是跟踪记录每个值被引用的次数。
    当声明了一个变量并将一个引用类型值赋给该变量时,则该值的引用次数就是1。
    如果同一个值又被赋给另一个变量,则该值的引用次数加1。
    如果对这个值的引用的变量又取得了另一个值,则这个值的引用次数减1。
    当这个值的引用次数变为0时,就没有办法在访问这个值了,就可以将其占用的内存空间回收回来。

  3. 性能问题

  4. 管理内存
    确保占用最少的内存可以让界面获得更好的性能。而优化内存占用的最优方式,就是为执行中的代码只保存必要的数据。一旦数据不再有用,最好通过将其值设置为null来释放其引用-----叫做解除引用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是垃圾回收机制? 和java,c#一样,javascript也有垃圾回收的机制,比如说c++和c就没有垃圾回收...
    我向你奔阅读 491评论 0 1
  • JS的内存生命周期: 分配你所需要的内存 使用分配到的内存(读、写) 不需要时将其释放、归还 js垃圾回收机制: ...
    星星的成长之路阅读 1,218评论 2 18
  • 为什么需要垃圾回收 由于字符串、对象和数组没有固定大小,只有当他们的大小已知时,才能对他们进行动态的存储分配。Ja...
    宇cccc阅读 1,077评论 1 0
  • 垃圾回收机制—GC Javascript具有自动垃圾回收机制(GC:Garbage Collecation),也就...
    西瓜w阅读 281评论 0 0
  • 1. 垃圾回收的意义在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在...
    爱情小傻蛋阅读 969评论 0 11