我们在开发过程中,如果不注意性能的优化,代码的优化等等,可能会导致应用程序的卡顿和效率极慢,所以开发过程中,注意细节,注意代码的编写和变量,常量的使用,可以提高我们软件的速度和效率。不知道大家在开发过程中注意过这些细节吗?其实我相信如果ListView如果不使用复用的话,在滑动列表时是非常卡顿的,大家肯定能够注意到这个问题。所以开发要注意细节。当然,有时候万恶的PM,催得紧,就没办法了,为了速度去牺牲细节和效率是常有的事。


现在我们就来罗列一下,我们在开发过程中,要注意的细节。接下来,我们来看看有哪些吧?


1.代码的优化

  • 少用浮点运算、文件、pipe、数据库访问

  • 用高效的方式:StringBuffer代替大量临时String,SoundPool代替多个MediaPlayer,texture代替canvas, Log.d() 代替System.out.print(),避免invalidate()

  • 重视onMeasure/onLayout/onDraw/onTouchEvent/getView等函数的效率


2.调整程序的进程结构

  • 减少进程数量(善用ViewStub、ViewSwitch等)

  • 减少进程周期循环次数,及时让进程休眠

  • 不编写长寿代码,只在需要时运行,服务应快速完成并立即结束


3.界面设计及相关优化

  • 避免复杂布局。控制嵌套和View数量,善用Merge、inflate()、RelativeLayout等

  • 去除不必要的背景、动画

  • 执行长时间、耗电的任务之前检查电量、提示用户


4.调整算法,取消无用环节,减少对CPU内存需求

  • 减少函数调用次数

  • 适当使用JNI


5.游戏开发注意事项

  • 少用new()/enum/Iterator/HashMap/Arrays.sort()/Class.getXXX()…

  • 多用private、final、局部变量,

  • 2D善用draw_texture、3D善用VBO顶点缓冲

  • 触屏事件时,暂停接受运动感应事件

  • 用NDK实现关键代码