【发布时间】:2018-05-29 20:55:14
【问题描述】:
提前致谢。
global.getDatabaseReference().child(ApplicationConstants.TOPIC_DB).child(Util.getSelectedBoard(context)).child(Util.getSelectedClass(context)).child(Util.getSelectedLanguagePackage(context)).child("CategoryId_1").child(subject).child(ApplicationConstants.TOPICS).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try {
topicContentArrayList = new ArrayList<>();
HashMap<String, HashMap<String, String>> modelHashMap = null;
int pos =0;
for (DataSnapshot single_ : dataSnapshot.getChildren()) {
modelHashMap = new HashMap<>();
HashMap<String, String> innerTopicNode = (HashMap<String, String>) single_.getValue();
innerTopicNode.put("mastery", "0");
innerTopicNode.put("enabled", innerTopicNode.get("Display"));
innerTopicNode.put("currentLevel", "1");
innerTopicNode.put("flag", "Done");
innerTopicNode.put("score", "0");
modelHashMap.put(pos + "", innerTopicNode);
pos++;
topicContentArrayList.add(modelHashMap);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Util.dismissdataDialog();
}
});
这是内存错误 后台部分并发标记扫描 GC 释放 277003(9MB) 它阻塞了 UI,我有一段时间无法执行点击操作。 请帮助我摆脱这个问题。
【问题讨论】:
标签: android firebase firebase-realtime-database