关于GC(垃圾回收)
2024-09-06 19:05:46
当我用new创建一个对象时,当可分配的内存不足GC就会去回收未使用的对象,但是GC的操作是非常复杂的,会占用很多CPU时间,对于移动设备来说频繁的垃圾回收会严重影响性能。下面的建议可以避免GC频繁操作。
1)减少用new创建对象的次数,在创建对象时会产生内存碎片,这样会造成碎片内存不法使用
2)使用公用的对象(静态成员,常量),但是不能乱用,因为静态成员和常量的生命周期是整个应用程序。
3)在拼接大量字符串时StringBuilder。在使用注意,创建StringBuilder对象时要设置StringBuilder的初始大小如:
StringBuilder sbHtml = new StringBuilder (size);
4)使用object pool(对象池)
最新文章
- C#调用天气查询服务
- MSIL Hello World
- hdu 5795
- 使用Javascript来编写贪食蛇(零基础)
- Could not load file or assembly 'MySql.Data.CF,
- Eclipse 反编译插件JadClipse安装
- MVC中的自定义控件——分页
- Hibernate中使用的集合类型
- GCD中的dispatch_set_target_queue的用法及作用
- jdk环境搭建
- 深入理解OpenERP的工作流(Workflow)
- 教你50招提升ASP.NET性能(十四):使用startMode属性来减少ASP.NET站点加载时间
- Java集合类 java.util包
- inter
- JDK中日期和时间的几个常用类浅析(二)
- HTML5能否会成为Web技术的核心?
- 高数量类别特征(high-cardinality categorical attributes)的预处理方法
- AutoHotkey 自动化脚本工具实例
- Android TV端的(RecyclerView)水平滚动焦点错乱问题
- 探究编译后,try-with-resources括号中的object是否关闭,以及两种写法编译后的对比
热门文章
- 一文教你一次性完成Helm 3迁移
- C++内存管理笔记(一)
- cookie理解与实践【实现简单登录以及自动登录功能】
- Codeforces Round #600 (Div. 2) E. Antenna Coverage
- PTA 7-9 集合相似度(STL之set初体验)
- 批处理(BAT) Ping监控, 结果记录入日志文件
- Python LEGB (Local, Enclosing, Global, Build in) 规则
- C#在窗体中按下鼠标键拖动窗体
- Python - 文件读取read()、readline()、readlines()区别
- pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》