首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >减少BlackBerry应用程序生成的类文件数量

减少BlackBerry应用程序生成的类文件数量
EN

Stack Overflow用户
提问于 2012-08-21 21:31:23
回答 2查看 194关注 0票数 2

我已经为BlackBerry开发了一个订单处理应用程序。当我查看bin文件夹时,我看到了100多个.class文件。

我已经创建了一个用于添加新客户端的主屏幕类。屏幕有7个LabelField对象和7个对应的TextField对象。此屏幕还会创建一个VerticalFieldManager并将所有这些字段添加到其中,然后将该VerticalFieldManager添加到屏幕上。

对于这个屏幕,我在bin文件夹中有14个.class文件。似乎程序中的每个字段都有一个类文件。例如:

代码语言:javascript
运行
复制
NewClient.class
NewClient$1.class
...
NewClient$14.class

如何设计UI以减少编译类的数量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-01 22:14:54

右键单击myComputer图标,在环境变量path上设置jdk bin文件夹路径

然后重新启动pc

另一种方法是不要在代码上使用覆盖方法,比如

代码语言:javascript
运行
复制
btmSave.setChangeListner(new FieldChangeListner()
{
   private void fieldChange()
   {
    }

}
);

避免编写这种类型的代码-在项目bin文件夹中创建您的类编号文件

票数 1
EN

Stack Overflow用户

发布于 2012-08-22 15:45:00

为BlackBerry构建一个Java-ME应用程序是一个两步过程。首先将java源代码编译为类文件,然后将这些类文件再次编译为.cod文件,该文件可以部署到模拟器或设备上。

‘'rapc’是一种RIM编译器,它将java程序转换为cod或alx文件进行部署。‘'rapc’可以接受java源代码,也可以接受编译后的java类。无论哪种方式,它都可以产生适合设备的输出。

当开始使用Java源文件时,您可以显式地将它们编译成类文件,并将这些类文件交给rapc,或者您可以将Java源代码传递给rapc,它将直接编译源代码。当提供java源代码时,rapc只需遵循JDK javac编译器。这意味着标准的java JDK编译器总是被用作编译BlackBerry应用程序的第一步,我们可以查看标准的java行为来理解发生了什么。

在Java语言中,每个实例化的类都只有一个.class文件。对于具有声明名称的普通类,如下所示:

代码语言:javascript
运行
复制
public class Foo extends Bar {
}

系统会为.class文件指定一个与声明的类名相匹配的名称。然而,Java也允许匿名类。它们采用new Foo()的形式,后面跟着一个大括号,这将把它变成一个匿名类。这就带来了一个问题,因为这个匿名类必须在VM级别分配一个名称,尽管在Java源代码级别没有名称。解决方案是使用一个在Java源中无效,但在VM中有效的字符,即$。匿名类根据包含的Java类被分配一个名称,然后是$,然后是一个基于匿名类前面的匿名类数量的整数索引。在本例中,这是NewClient,后跟14个不同的整数。

要查看您所描述的行为,您的字段必须实际上都是您提到的那些类的匿名实现。要减少类的数量,请尝试重用显式类,而不是在每次实例化时编写自定义行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12055995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档