2

我通常为所有东西制作类,通常将几种类型组合在一起。
例如用于组合 int 和 double

public class IntAndDouble{
      public final int INT;
      public final double DOUBLE;
      public IntAndDouble(int i,double d){INT = i; DOUBLE = d;}
}

很像经常创建一个小的struct.

但我注意到,对于每个这样的小类,在创建 10-15 个这样的小类时,会有一个 ~1KB(300-1000 字节)的文件, 这不会jar
增加 ~30KBjar

在真正的 Java 中,30KB 几乎可以忽略不计,这不是问题,
但在普通应用程序通常在 200KB 左右的 J2ME 中,30KB 意义重大。

在 J2ME 中制作“小结构”的最佳方法是什么?

4

2 回答 2

1

除非您使用的是具有少量内存的非常旧的手机,否则用于保存“类结构”类的代码的内存量不太可能很大。

注意:“.class”文件的大小不反映类的内存占用。“.class”文件包含许多仅在加载和链接类时使用的东西(类型/方法/类名称和签名等)。之后,它通常被垃圾收集。

我不知道轻量级的实际内存成本是多少(我无法衡量),但我预测的数量级会比你说的少一个数量级。

在 J2ME 中制作“小结构”的最佳方法是什么?

IntAndDouble在大多数情况下,与您在示例类 中所做的完全一样。

如果字段都具有相同的基本类型,那么您可以使用数组来代替;例如int[]Object[],但您会以其他方式为此“付费”。

(提防过早的优化!)

于 2013-04-08T11:34:10.410 回答
0

我们的目标是西非和世界其他技术含量较低的地区非常薄弱的​​设备。我们发现许多设备只能处理价值 50 万的应用程序和数据总量(适用于所有应用程序)。全球有大量消费者使用这些类型的设备。因此,如果您要超级通用,我仍然会考虑做一些事情来使我的代码尽可能小。

于 2013-04-09T18:37:39.137 回答