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.用混淆器处理你的类文件,防止反编译,还有一个好的副作用就是它减小class文件的大小,因为混淆器往往用较短的字符串代替原来的变
量或方法名。
11.若数据太大,可以将数据编码为字符串,运行时解码,或把数据存为二进制文件并与程序打包,用类装载器的getResourceAsStream方法在运行时存取。
12.使用现有的类,比如你使用了GameCanvas,就不用自己生成off-screen,另外像CLDC的profile没有构造集合类,所以我们可以用内建的Hashtable和Vector类来实现。
13.用优化软件jPresto(http://www.s5systems.com/jPresto.htm)---没用过,不过暂且写上吧。
假如对文件大小,内存限制非常严格,这时候就只能用一些非常规的方法了,可能这些方法背离了OO思想,但是多数情况下,它是起到了非常积极的作用的(但是也可能),假如你更在意于程序的维护和扩展方面,我建议你还是跳过吧 -_-
14.把所有资源文件做成一个数据文件。
15.把所有的小图片文件做成一个文件,在运行时再"切割"开。
16.使用有限的面向对象,因为纯粹的OO往往意味着更多的虚方法,更多的层次关系,更多的class
17.生成尽可能少的class,class都有一定的系统开销。 18.class中生成尽可能少的方法。速度比较:同步方法<接口方法<实例方法<final方法<静态方法。
19.用final static限定方法可以获得小幅的速度提高。
20.对数据成员用public限定,来代替get和set方法,不过要注重安全性。
分享到:
相关推荐
T型三电平+SVPWM的下垂控制与双闭环中点电位平衡控制.pdf
STM32真实企业级项目:锅炉控制器源码、原理图与PCB图.pdf
STM32F103 Modbus主站源码:正常使役,支持多从机功能码通信及从机寄存器写入.pdf
Simulink永磁同步直驱风机PMSG一次调频离散模型:含虚拟惯性与下垂控制,可扩展至光伏储能研究.pdf
VSG仿真、并网与离网运行仿真、预同期并网控制及虚拟同步机逆变器仿真.pdf
VIC水文模型全程视频教学指导.pdf
vrep_coppeliasim+matlab机器人轨迹控制仿真:利用matlab读取轨迹并控制机械臂在墙上绘图的详细学习示例.pdf
2000-2022年上市公司行业异质性数据(技术密集型、劳动密集型、资本密集型)(含原始数据和处理代码) 1、时间:2000-2022年 2、指标:股票代码、年份、股票简称、统计日期、行业名称、行业代码、成立日期、上市日期、所在省份、所在城市、上市状态、保留两位行业代码、保留一位行业代码、高科技为1,非高科技为0、重污染为1,非重污染为0、制造业为1,非制造业为0、劳动密集型为1,资本密集型为2,技术密集型为3 3、来源:csmar 4、根据2012年中国证监会行业划分是否高科技、是否重污染、是否制造业、是否劳动密集型、资本密集型、技术密集型。 5、内容:包括原始数据、处理代码和计算结果
TMS320F28335电机控制程序:BLDC、PMSM无感有感及异步VF程序源代码与开发资料大全.pdf
tc275、s12x、s32k144基于CANoe的UDS诊断数据库CDD文件及CAPL Boot上位机、下位机程序移植说明文档.pdf
STM32系列通信透传技术:以太网、串口、CAN透传及OBD协议解析.pdf
STM32开发:IIR带阻滤波器设计与实现.pdf
UG后处理:CNC西门子828D后处理与西门子后处理工厂实战自用.pdf
MYSQL深入学习总结.pdf
Stewart六自由度平台反解算法 C#.pdf
1、文件说明: Centos8操作系统vim-ale-3.3.0-1.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf vim-ale-3.3.0-1.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
tc275、s12x和s32k144的Boot程序及UDS故障诊断与Bootloader移植的Python自制上位机源码.pdf
SSA-CNN-LSTM时间序列预测(Matlab)_ 麻雀算法优化卷积长短期记忆网络.pdf
UI篇:C#工控上位机Chart控件实现与展示.pdf
SRM12-8开关磁阻电机,功率2200w,额定转速3450rpm.pdf