J2ME游戏开发的高级优化技巧

发表于:2010-11-05 10:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  该程序各函数分别绘制100*100的图形,经过一段时间以后,退出应用程序,我们得到如下图数据:

  根据Profiler窗口所显示的数据,我们发现drawString最耗时。其次是drawRegion,所以我们应尽量避免使用drawString函数。

  通过Profiler对各种函数及程序的测试,我总结如下结论:

  ·仅当你需要的时候才去优化代码!

  ·仅优化那些最耗时的代码!

  ·使用Profiler去查找哪里需要优化!

  ·记住Profiler不代表真机上的优化结果,使用System Timer来在真机上做最后的测试!

  ·在做低级优化之前,总是要先思考算法是否是最优!

  ·绘图是很占用时间的,所以尽可能的减少Graphics函数的调用!

  ·尽可能的使用SetClip()来减少绘图区域,相对于SetClip(),drawImage()所花的时间会更可观!

  ·尽可能的将变量定义在循环以外!

  ·尽最大可能的进行对需要的数据进行预先计算并将结果保存在缓冲里!

  ·String类很容易产生垃圾内存,尽可能的使用StringBuffer代替String或用final static来定义之!

  ·假设是不被接受的,一切要以真机为据!

  ·尽量使用static final修饰函数,而避免synchronized修饰符!

  ·对于频繁调用的函数要使用尽可能少的参数!

  ·尽可能的不使用函数调用!

  ·尽可能的使用<<和>>来代替*和/!

  ·使用位操作来代替%运算!

  ·与0比较比与其他数值比较快!

  ·数组存取比C语言慢,尽可能不在循环中存取数组!

  ·局部变量比其他类型的变量运算要快!

  ·在switch()中尽量使用连续的小数值判断!

  ·尽量使用乘法而不使用除法!

  ·尽量使用已有算法!

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号