Java ME的优化
文章一
文章二
文章三
原文
J2ME开发优化
1、猜测Vector的长度
2、使用局部变量
3、避免字符串比较
4、将变量和方法声明为final和static,以加快访问
5、使用惰性实例化
6、处理outofmemoryError错误
7、使用数组而不是对象
8、倒计至零的迭代循环,因为和零比较将会较快
9、把引用设置为NULL
10、最大限度的减少方法调用的次数
11、使用移位运算取代乘以二的运算
12、避免类型转换
13、只要有可能、尽量使用Int
14、避免使用异常
相对于J2SE和J2EE开发,很多反常规的方法倒是更加适合J2ME开发
部分内容摘自《More Java Pitfalls 中文版》
J2me程序由于其特殊的运行环境限制,所以优化就显得比较重要,以下是我在学习j2me编程所收集的一些技巧和自己的心得。
本文主要是说明j2me平台上的特殊优化方法,与j2se重复的一些技巧就不再赘述了。
1.显示图象时确定好你的fps,最好先做几次小实验,这样能让你在显示效果和运行速度上有比较好的平衡。
2.GamaCanvas.getGraphics()每次都会产生一个全新的对象,但是对这些对象的操作都是对同一个graphics,所以还是只取一次供后面使用。
3.让多个对象使用同样的监听器,比如让主MIDlet类实现CommandListener和ItemStateListener接口。
4.考虑使用手机开发商提供的一些sdk,没人会比他们更了解他们手机,所以有些时候能显著提高速度,特别是图片,视频使用方面。
5.使用监视工具分析MIDlet的瓶颈,wtk和各个公司提供的开发包里都会有,可以找到程序的弱点。如果是在手机上,用timer测试你认为有可以的地方。
6.使用System.gc(),在无线程阻塞的情况下可以有效的缓解内存压力,但是有些公司不是太推荐使用(如nokia).sun的说法也是越低端的机子执行的越慢,总之,慎用吧。
7.用固定的数组代替使用Vector。
8.图片的优化。考虑使用设备的规格,可能高分辨率的图片不一定显示的出来。
9.不用的对象赋值为null,为更快的回收
10.用混淆器处理你的类文件,防止反编译,还有一个好的副作用就是它减小>
=============================================================
通过Profiler对各种函数及程序的测试,我总结如下结论:
·仅当你需要的时候才去优化代码!
·仅优化那些最耗时的代码!
·使用Profiler去查找哪里需要优化!
·记住Profiler不代表真机上的优化结果,使用System T
相关文档:
不能好高骛远,从写小程序开始。
一个没隔N分钟就提醒休息一下的小程序,嗯,还只是一个挺简陋的东西,而且还发现一点现在我无法解决的bug。
/**
* 休息提醒小程序
* 存在问题是:单击时(不分左击右击),同时会在任务栏出现程序(因为这个托盘功能是参考网上例程
* 写的,不知道该如何避免这个问题);
* 如 ......
下边是自己对类的一些使用认识,如果有不对的,敬请达人指正。
任何类的使用都经历:类加载和类初始化的阶段。
类初始化:
*普通成员属性:
1.系统默认初始化,基本类型默认为0或false,引用类型默认为null。
2.声明时显示初始化或普通初始化块(注意:普通初始化只有在new构造函数创建实例时,才会被自动调 ......
Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME 指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK 的安装路径可以选择任意磁盘目录,不过建议你放的目录层 ......
java se:
1.java核心技术(第七版)(很好的入门书籍,有两本)
2.java编程思想(第四版)(我看过第三版,第四版看了一点英文的,觉得这本书还是适合有基础的java学习者巩固基础,也就是说要想打牢基础就看完核心技术看这个~)
3.java jdk实例宝典(这本书里几本包含了所有语法的例程)
4.java se6.0编程指南(厚实 ......