|
j2me程序由于其特殊的运行环境限制,所以优化就显得比较重要,以下是在学习j2me编程所收集的一些技巧和自己的心得。
p2 b! p% Q' a: `& n4 f5 c% ?本文主要是说明j2me平台上的特殊优化方法,与j2se重复的一些技巧就不再赘述了。 ' G1 L$ w; O b1 X' I& t b
1.显示图象时确定好你的fps,最好先做几次小实验,这样能让你在显示效果和运行速度上有比较好的平衡。 3 L! e$ ]- D0 k* g
2.GamaCanvas.getGraphics()每次都会产生一个全新的对象,但是对这些对象的操作都是对同一个graphics,所以还是只取一次供后面使用。
1 f& m" n6 |% @$ z2 E4 p! d3.让多个对象使用同样的监听器,比如让主MIDlet类实现CommandListener和ItemStateListener接口。 , y' O5 A4 R; \; q1 l% |
4.考虑使用手机开发商提供的一些sdk,没人会比他们更了解他们手机,所以有些时候能显著提高速度,特别是图片,视频使用方面。 : U7 G% M+ y- z( c8 r5 h7 \
5.使用监视工具分析MIDlet的瓶颈,wtk和各个公司提供的开发包里都会有,可以找到程序的弱点。如果是在手机上,用timer测试你认为有可以的地方。
/ h0 [8 U( R+ e" Z6.使用System.gc(),在无线程阻塞的情况下可以有效的缓解内存压力,但是有些公司不是太推荐使用(如nokia).sun的说法也是越低端的机子执行的越慢,总之,慎用吧。 5 b9 i6 {6 h$ d& }6 H1 S
7.用固定的数组代替使用Vector。
' g0 m! ~* E, B8.图片的优化。考虑使用设备的规格,可能高分辨率的图片不一定显示的出来。 % u% Z; g, N$ H+ h5 P4 a
9.不用的对象赋值为null,为更快的回收 0 Q( y1 ?- q3 V
10.用混淆器处理你的类文件,防止反编译,还有一个好的副作用就是它减小class文件的大小,因为混淆器往往用较短的字符串代替原来的变量或方法名。8 k$ L( @ K7 W* {* j- N
- ---本文由http://www.gobenet.net.cn,整理后编辑,如有转载,请注明出处。 |
|