博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android应用程序性能优化
阅读量:6175 次
发布时间:2019-06-21

本文共 1123 字,大约阅读时间需要 3 分钟。

hot3.png

 应用程序的问题体现在很多方面, 比如第一次速度慢,或者进入某一界面速度慢;动画执行过程不流畅,或者动画执行卡顿时间长;ListView列表滑动过程中卡顿,不流畅;应用程序自定义的某特定界面执行速度慢;响应某一用户事件时长时间无响应(ANR);操作数据库时,执行大量数据的增删改查操作,执行速度慢;文件读写频繁,缓存文件过大导致卡顿;应用长时间运行后,随机出现卡顿现象。

一方面,编程思想。

  1. 1.     了解编程语言的编译原理,使用高效编码方式从语法上提高程序性能; 
  2. 2.     采用合理的数据结构和算法提高程序性能,这往往是决定程序性能的关键; 
  3. 3.     重视界面布局优化; 
  4. 4.     采用多线程、缓存数据、延迟加载、提前加载等手段,解决严重的性能瓶颈; 
  5. 5.     合理配置虚拟机堆内存使用上限和使用率,减少垃圾回收频率; 
  6. 6.     合理使用native代码; 
  7. 7.     合理配置数据库缓存类型和SQL语句加快读取速度,使用事务加快写入速度; 
  8. 8.     使用工具分析性能问题,找出性能瓶颈;

另一方面,编程技巧。

  1. 1.     避免创建不必要的对象 
  2. 2.     合理使用static成员 
  3. 3.     避免内部的Getters/Setters 
  4. 4.     使用增强for循环 
  5. 5.     使用package代替private以便私有内部类高效访问外部类成员
  6. 6.     合理使用浮点类型 
  7. 7.     采用<merge>布局层数。 采用<include来共享布局。
  8. 8.     延时加载View. 采用ViewStub 避免一些不经常的视图长期被引用,占用内存.
  9. 9.     移除Activity默认背景,提升activity加载速度。
  10. 10.   cursor 的使用。
  11. 11.   广播BroadCast动态注册时,记得要在调用者生命周期结束时unregisterReceiver,防止内存泄漏。
  12. 12.   针对ListView的性能优化
  13. 13.   注意使用线程的同步机制(synchronized),防止多个线程同时访问一个对象时发生异常。
  14. 14.   合理使用StringBuffer,StringBuilder,String 
  15. 15.   尽量使用局部变量
  16. 16.   I/O流操作记得及时关闭流对象。
  17. 17.   使用IntentService代替Service
  18. 18.   使用Application Context代替Activity中的Context 
  19. 19.   集合中的对象要及时清理 
  20. 20.   Bitmap的使用
  21. 21.   巧妙的运用软引用(SoftRefrence)
  22. 22.   尽量不要使用整张的大图作为资源文件,尽量使用9path图片
  23. 23.   了解并使用库函数 

转载于:https://my.oschina.net/u/2971691/blog/793939

你可能感兴趣的文章
sql replace
查看>>
cxf 生成客户端代码调用服务
查看>>
第26周二
查看>>
粒子系统模块
查看>>
boost 轻量级信号量
查看>>
jquery ui的css设计二
查看>>
activity-alias的使用
查看>>
POP动画[3]
查看>>
ProgressBar学习笔记,自定义横向进度条的样式(包含ActionBar上面的进度条)
查看>>
Recusively change the owner of files (chown) on Mac OS X
查看>>
Log4j与common-logging
查看>>
Swift编程语言的相关资料
查看>>
SharePoint 2013 Designer系列之数据视图
查看>>
cocos2d-x 3.0正式版 环境搭建 (解决载入失败,未能载入XXX包)
查看>>
linux/shell 文本文件删除/删掉空行
查看>>
Uxf框架引入Rest控制器特性
查看>>
wamp升级php5.3.10到5.4.31版本
查看>>
一步一步写算法(之hash表)
查看>>
JS~字符串长度判断,超出进行自动截取(支持中文)
查看>>
iOS开发拓展篇—音频处理(音乐播放器6)
查看>>