当我用new创建一个对象时,当可分配的内存不足GC就会去回收未使用的对象,但是GC的操作是非常复杂的,会占用很多CPU时间,对于移动设备来说频繁的垃圾回收会严重影响性能。下面的建议可以避免GC频繁操作。
1)减少用new创建对象的次数,在创建对象时会产生内存碎片,这样会造成碎片内存不法使用
2)使用公用的对象(静态成员,常量),但是不能乱用,因为静态成员和常量的生命周期是整个应用程序。
3)在拼接大量字符串时StringBuilder。在使用注意,创建StringBuilder对象时要设置StringBuilder的初始大小如:
StringBuilder sbHtml = new StringBuilder (size);
4)使用object pool(对象池)

最新文章

  1. C#调用天气查询服务
  2. MSIL Hello World
  3. hdu 5795
  4. 使用Javascript来编写贪食蛇(零基础)
  5. Could not load file or assembly 'MySql.Data.CF,
  6. Eclipse 反编译插件JadClipse安装
  7. MVC中的自定义控件——分页
  8. Hibernate中使用的集合类型
  9. GCD中的dispatch_set_target_queue的用法及作用
  10. jdk环境搭建
  11. 深入理解OpenERP的工作流(Workflow)
  12. 教你50招提升ASP.NET性能(十四):使用startMode属性来减少ASP.NET站点加载时间
  13. Java集合类 java.util包
  14. inter
  15. JDK中日期和时间的几个常用类浅析(二)
  16. HTML5能否会成为Web技术的核心?
  17. 高数量类别特征(high-cardinality categorical attributes)的预处理方法
  18. AutoHotkey 自动化脚本工具实例
  19. Android TV端的(RecyclerView)水平滚动焦点错乱问题
  20. 探究编译后,try-with-resources括号中的object是否关闭,以及两种写法编译后的对比

热门文章

  1. 一文教你一次性完成Helm 3迁移
  2. C++内存管理笔记(一)
  3. cookie理解与实践【实现简单登录以及自动登录功能】
  4. Codeforces Round #600 (Div. 2) E. Antenna Coverage
  5. PTA 7-9 集合相似度(STL之set初体验)
  6. 批处理(BAT) Ping监控, 结果记录入日志文件
  7. Python LEGB (Local, Enclosing, Global, Build in) 规则
  8. C#在窗体中按下鼠标键拖动窗体
  9. Python - 文件读取read()、readline()、readlines()区别
  10. pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》