积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式软件 >> JAVA
  相关分类: LINUX | WINCE | UC/OS | Bootloader | 下载 | VXWORKS | 网络协议 | JAVA | 汇编 | 驱动设计 | Symbian | XP Embedded | Nucleus | 新产品 | 相关文章 | 综合技术 |
J2ME性能优化之--方法和内存的评测
 
作者:zxhwolfe   来源:J2ME开发网    点击数:1121   更新时间:2006-9-12
您可以添加到网摘 让更多人关注此文章:

    

本文是对J2ME游戏性能优化的初步探讨,有不足和错误之处还请及时指出。(请联系zxhwolfe@hotmail.com.

本文目的是使我们的游戏能够更快更稳定的运行,J2ME的有限处理能力和存储能力,使得节省设备资源就显得尤为重要。对代码进行优化和提速我个人觉得是一件恐怖的事情,嘿嘿。但当你解决代码的性能瓶颈,使游戏能够流畅运行又是一件很有成就感的事情。

    本文共分两部分:第一部分介绍我们如何使用工具对方法和内存进行评测;第二部分和大家探讨些优化程序的方法。

 

    性能评测所要做的就是,在游戏运行的时候,记录代码每一部分对内存和处理器的使用情况。在评测的过程中,使我们知道什么地方内存使用过大,什么原因导致游戏运行变慢。

    进行评测我们使用的是Sun公司J2ME Wireless ToolkitWTK2.2)。

J2ME Wireless Toolkit 提供了若干用于监视应用程序性能的工具。这些工具能够帮助您调试和优化代码。

  • 事件探查器列出应用程序中每个方法的使用频率和执行时间。
  • 内存监视器显示应用程序运行时内存的使用情况。
  • 网络监视器显示应用程序传送和接收的网络数据。网络监视器支持多种网络协议,包括 HTTPHTTPSSMS CBS
  • 跟踪将低级信息输出到 KToolbar 控制台。

提示:监视功能可能会降低应用程序的执行速度。

 

方法性能评测:

事件探查器跟踪应用程序中的每个方法。对某次特定的应用程序运行,事件探查器都计算出每个方法占用的时间,以及调用每个方法的次数。当应用程序结束运行并关闭仿真器后,将弹出事件探查器,您可以从中浏览所有的方法调用信息。

要打开事件探查器,请从 KToolbar 菜单中选择编辑”>“偏好...”。单击监视选项卡。(即Preferences如果您想查看所有系统实现方法的配置处理信息,请选择显示系统类。否则,事件探查器将只显示包含对应用程序方法调用的系统方法。

要打开时间探查器也可以这样:%WTK安装路径%--binà prefs.exe来启动工具。

启动工具并选择“监视”,再勾选上事件探查器显示应该是这样:

 

确定后,即可以。下次启动手机模拟器运行游戏结束后就会弹出事件探查器,并显示有关应用程序中所有方法调用的信息。

提示:只要勾选了事件探查器每次模拟器结束的时候都会弹出,所以记得不用及时取消该功能,因为它影响模拟器的速度,内存监视器尤为明显。不论模拟器是在什么IDE中打开都会弹出方法事件探查器。

 

 

事件探查器显示两种类型的信息:

  • 方法关系,显示在名为调用图的层次结构列表中。
  • 事件探查器的右侧显示每个方法及其子代的执行时间和调用次数。

注-从仿真器中获得的配置处理值反映不出真实设备上的实际值。

调用图显示方法调用的层次结构。调用其他方法的方法显示为文件夹。双击某个方法将其打开,并查看该方法所调用的方法。没有调用任何其他方法的方法显示为灰色圆圈。

您可以搜索某个特定类或方法名。单击查找...”,并填写名称。搜索从调用图中的当前选择开始执行,直到最后。如果您想搜索完整的调用图,请在单击查找按钮之前选中环绕

在调用图中单击不同的节点时,事件探查器的右侧就会显示该节点方法的详细信息。

事件探查器窗口的右侧显示有关方法的详细信息。您可以看到方法名、方法调用次数以及仿真器使用该方法所用的时间。执行时间有四种不同的描述方法:

  • 周期表示方法本身所用的处理器时间。
  • %周期表示方法本身所用总执行时间的百分比。
  • 周期(包括子类)表示某方法及其调用的方法所用的时间。
  • %周期(包括子类)表示某方法及其调用的方法所用的时间占总执行时间的百分比。

单击任一列,按照该列进行排序。再次单击该列,可以在升序和降序之间切换。

右窗格显示调用图中当前所选节点中包含的方法。如果您想查看每个方法,请在调用图中单击 节点。

关于保存就不多说了。

 

内存性能评测

许多 MIDP 设备上的内存都不够用。J2ME Wireless Toolkit 中的内存监视器使您可以方便地检查应用程序内存的使用情况。您可以查看应用程序使用的内存总量,以及每个对象的内存使用情况详细列表。

要打开内存监视器,请从 KToolbar 菜单中选择编辑”>“偏好...”,单击监视选项卡。选择启用内存监视器

下次运行模拟器时,就会弹出内存监视器窗口,显示一幅随时间变化的应用程序内存使用情况图。由于创建的每个对象都被记录下来,因此内存监视器会使应用程序的启动速度变慢。最好不要同时勾选两种监视器。 

 

 

您将看到包含以下列的一个表:

  • 名字。对象类名称。
  • 存活。实例数目。有些可以进行资源回收。
  • 总共。应用程序开始运行以来所分配的对象总数。
  • 总计。对象使用的内存总量。
  • 平均。对象的平均大小,由总计大小除以活动实例数目得到。

单击任一列标题,按照该列进行排序。

通过从内存监视器窗口菜单中选择查看”>“查找...”,可以搜索某个特定的类名。

特别注意内存使用超出当前分配的堆(图像中红色虚线表示)的情况。

关于方法和内存的评测就到这里,希望大家在使用中的经验和心得能够共同交流。WTK中还有其他好用的功能哦。下一部分讨论下j2me的调试方法和优化方法。

 

本文参考资料:

 

J2ME Wireless Toolkit 用户指南》

J2ME游戏编程》



相关文章
· 科技奥运与计算机技术的应用[405]
· Electromedical[2669]
· 患者监控[2726]
· 基于TMS320LF2407A DSP的心电监护系统研究[3166]
· 用S3C2410实现三导联远程心电监护系统[3083]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
避免危及半导体业 德出手挽
HP实验室展示集CMOS电路与忆阻器
全球第二大代工巨头伟创力瘦身应对金融
Vishay Silico
奥地利微电子发布全球首款具有嵌入式比
采用 4mm x
未来MEMS产业恐缩水 车
iSuppli发布08年半导体厂商初
飞兆半导体指控英飞凌专利侵权
全球三大晶圆代工巨头齐遇冷 
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
嵌入式十三法则...
基于CPLD和单片机的任意波形...
电子行业的发展方向...
单片机-超低价专业PCB打样...
超低价专业PCB打样 双面板...
[原创]主题:移动开发平台的建...
[原创]正弦脉宽调制(SPWM...
[推荐]Agilent8590...
[推荐]HP8591E HP8...
[推荐]Agilent8711...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网