【发布时间】:2013-05-02 18:28:18
【问题描述】:
我正在将旧设备中的 16 位代码转换为表格定义的字符串。代码有2000多个,代码不连续。
它们目前在这样的 HashMap 中定义...
public class SomeActivity {
private static final Map<Integer, String> myMap;
static {
Map<Integer, String> aMap = ...;
aMap.put(0x2345, "this");
aMap.put(0xFEA3, "that");
...
myMap = Collections.unmodifiableMap(aMap);
}
}
这是为 android 移植的,我担心这会在设备上占用多少 RAM。我可以做类似的事情,但存储在程序内存中吗?
【问题讨论】:
-
你不能使用属性文件吗?
-
@user503413 你能举个例子吗?
-
如果不是 RAM,您认为“程序内存”是什么?您是否实际测试过它是否有问题? (对于 2000 个地图条目,它不会占用 那么多 内存。)
-
您是否只测试了一个元素,然后使用了所有 2 千个元素,在 Eclipse 的分析器中观察大小
-
使用每个映射条目 64 字节的快速粗略计算为 2000 个条目的映射提供 128KB。不是问题,例如 最低 分辨率的低端 Android 设备上的 单个 全屏位图就像 两倍 一样大。
标签: java android memory collections map