Firebase监听器会占用大量内存吗?

时间:2018-02-26 10:20:06

标签: java android firebase firebase-realtime-database

这样的Firebase听众会占用大堆内存吗?

ref.addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() {
    @Override
    public void onDataChange(com.google.firebase.database.DataSnapshot snapshot) {
    }
});

至少在拍摄快照时?

1 个答案:

答案 0 :(得分:1)

Firebase数据库客户端会保留您在应用内存中收听的所有数据的副本。删除某个位置的最后一个侦听器后,正如我们已经讨论过here,数据将从内存中删除。

当我们谈论Firebase时,一切都是关于听众的,并且作为对你的问题的快速回复,不,听众不会占用大量内存,你可以使用尽可能多的听众,如果正确删除它们。 / p>

使用addListenerForSingleValueEvent()表示:

  

为此位置的数据中的 single 更改添加侦听器。

因此无需删除侦听器。

如果您使用了ref.keepSynced(true)ref位置的所有数据都将保留在内存中,并保持最新状态。

如果您enable persistence,客户端还会将活动数据和最新数据保存到磁盘。