我有Android应用程序,我需要加载一些文件并处理该文件中的每个字符串,并进一步处理这个已处理的字符串。
因此,我为此条目创建了已处理行和持有者的类Entry
- 类EntryManager
,如下所示:
public class EntryManager {
private static EntryManager instance;
private List<Entry> rules = new ArrayList<>();
public static synchronized EntryManager getInstance() {
if (instance == null) {
instance = new EntryManager();
}
return instance;
}
public void addRule(String rule) {
rules.add(RulesParser.parseRule(rule));
}
public void clear() {
rules.clear();
}
}
Entry类非常简单 - 它包含原始String
行和几个布尔标志。条目的一般计数是~70'000,因此将创建70'000个对象。
问题是: 第一次完成需要0.3秒,但所有其他时间需要约7秒。不使用NDK就可以避免吗?
UPD。看起来这是我的失败 - 在测试期间我的手机通过电缆连接到PC,当我拿出来时一切都变好了