添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
5.1 使用事件探查器

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

要打开事件探查器,请选择“编辑”>“首选项”。请参见 图 5-1 。在左窗格中单击“监视”。在右窗格中选中“启动 Profiling”。如果您想查看所有系统实现方法的配置处理信息,请选择“显示系统类”。否则,事件探查器将只显示包含对应用程序方法调用的系统方法。单击“确定”。

图 5-1 打开事件探查器

现在单击“运行”按钮启动应用程序。以通常的方式与您的应用程序进行交互操作。结束后,关闭仿真器。事件探查器弹出,并显示有关应用程序中所有方法调用的信息。

图 5-2 方法事件探查器

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

  • 方法关系显示在名为 “方法调用图”的层次结构列表中。

  • 事件探查器的右侧显示每个方法及其子代的执行时间和调用次数。

    5.1.1 方法调用图

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

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

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

    5.1.2 执行时间和调用次数

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

  • 周期表示方法本身所用的处理器时间。

  • %周期表示方法本身所用总执行时间的百分比。

  • 周期(包括子类)表示某方法 及其 调用的方法所用的时间。

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

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

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

    5.1.3 保存和装入事件探查器信息

    要保存您的事件探查器会话,请在事件探查器窗口中单击“保存”按钮。然后选择一个文件名。

    要装入事件探查器会话,请选择“文件”>“实用程序”。单击“事件探查器”,然后按“启动”。选择文件后,事件探查器窗口会出现,并显示所有会话信息。 5.2 使用内存监视器

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

    要打开内存监视器,请选择“编辑”>“首选项”。然后在左窗格中单击“监视”。选择“启用内存监视器”。

    下次运行仿真器时,就会显示内存监视器窗口,同时显示一幅随时间变化的 应用程序内存使用情况图。由于创建的每个对象都被记录下来,因此内存监视器会使应用程序的启动速度变慢。

    图 5-3 内存监视器图

    内存监视器图显示以下信息:

  • 当前 应用程序当前使用的内存量。

  • 最大 ― 自程序开始执行起使用的最大内存量,在图形中用间断的红线表示。

  • 对象 ― 堆栈中的对象数。

  • 已用 ― 已用的内存量。

  • 剩余 ― 尚未使用的可用内存量。

  • 总计 ― 启动时可用的内存总量。

    请记住,要修改堆栈大小,可以选择“编辑”>“首选项”,然后选择“存储”选项卡。有关详细信息,请参见 第 3 章

    要让系统执行垃圾回收,请单击“运行 GC”。

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

    5.2.1 保存和装入内存监视器信息

    要保存内存监视器会话,请单击“保存”按钮,然后选择一个文件名。

    要装入内存监视器会话,请选择“文件”>“实用程序”。单击“内存监视器”,然后按“启动”。选择文件后,内存监视器窗口会出现,并显示所有会话信息。 5.3 使用网络 监视器

    MIDP 应用程序至少能进行 HTTP 网络连接,同时也可以进行其他类型的网络连接。网络监视器提供了一种查看应用程序通过网络发送和接收信息的便捷方式。此方法可以帮助您对网络交互进行调试或寻找优化网络通信流量的途径。

    要打开内存监视器,请选择“编辑”>“首选项”。在左窗格中单击“监视”。选中“启用网络监视”。

    下次您运行仿真器时,就会显示网络监视器窗口。

    图 5-5 网络监视器

    应用程序进行任何类型的网络连接时,将捕获并显示有关该连接的信息。图中显示了 HTTP 请求和响应。

    屏幕左侧显示消息和消息片段的层次结构。单击某条消息或消息的某一部分,可在网络监视器的右侧查看其详细信息。双击某条消息或消息的各部分,可展开或收拢它们。

    消息主体以原始十六进制值及对应文本进行显示。

    完成过滤设置输入后,按下“确定”,返回到网络监视器。"Filter" 复选框处于选中状态,表明正在使用某个过滤器。要禁用过滤器并查看所有消息,请取消选中该复选框。

    5.3.2 对消息进行排序

    要使 消息树按某种特定顺序排列,请单击 "Sort By" 组合框并选择一种标准。

  • Time ― 消息将按照发送或接收时间顺序进行排序。

  • URL ― 消息将按 URL 地址进行排序。同一地址的多条消息将按时间进行排序。

  • 连接 ― 消息将按照通讯连接进行排序。使用同一连接的消息将按时间进行排序。通过此排序类型可以查看按请求和相关响应进行分组的消息。

  • 排序参数取决于您选择的消息协议。例如,按时间排序与使用套接字协议的消息无关。

    5.3.3 保存和装入网络监视器信息

    要保存网络监视器会话,请从网络监视器窗口菜单中选择“文件”>“保存”,或者“文件”>“另存为”,然后选择一个文件名。

    要装入网络监视器会话,请选择“文件”>“实用程序”。从列表中选择“网络监视器”,然后按“启动”。选择文件后,网络监视器窗口会出现,并显示所有会话信息。

    5.3.4 清除消息树

    要从网络监视器中删除所有消息,请从网络监视器菜单中选择“编辑”>“清除”。

  •