相关疑难解决方法(0)

Firebase Android离线性能

在单个节点下存储大约5000个子节点时,使用离线功能时初始化firebase会变得非常慢.执行第一个查询需要大约30秒.初始化后,执行后续查询(例如列出前25个子节点)只需不到一秒钟.

我正在使用以下属性来启用脱机功能:Firebase.getDefaultConfig().setPersistenceEnabled(true); firebase.keepSynced(真);

我的结构看起来像这样:

<root>
 |-my-app-name
   |-<uid>
     |-node
       |-sub node 1
       |-...
       |-sub node 5000
Run Code Online (Sandbox Code Playgroud)

<uid>节点上设置保持同步.子节点显示在Recycler视图中.最好,我想列出所有(而不是每页25个),但我知道这是不可能的,因为没有可用于Firebase的类似Cursor的机制(因为Android提供了SQLite).

这是设计,我是否修改了我的数据结构?或者我可以用另一种方式减少初始化时间吗?

我在下面提供了一些记录.如您所见,正在进行大量垃圾收集.Firebase在初始化时是否评估整个数据库?

谢谢!尼尔斯

04-01 15:59:12.029 2222-2245/abcdef I/art: Background sticky concurrent mark sweep GC freed 43005(1717KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 31MB/32MB, paused 5.674ms total 57.402ms
04-01 15:59:13.415 2222-2240/abcdef W/art: Suspending all threads took: 6.600ms
04-01 15:59:13.424 2222-2245/abcdef W/art: Suspending all threads took: 9.339ms
04-01 15:59:13.433 2222-2245/abcdef I/art: Background sticky concurrent mark sweep GC freed 7097(281KB) AllocSpace objects, 0(0B) LOS objects, …
Run Code Online (Sandbox Code Playgroud)

android firebase

8
推荐指数
1
解决办法
1361
查看次数

Firebase数据库设计建议书

我正在编写一个处理组织成员和付款的应用程序.我有以下实体:

Organization---+
               |
               +---Members-----+
               |               |
               |               +---Children
               +---Accounts
               |
               +---Payments
Run Code Online (Sandbox Code Playgroud)

每个组织可以支付> 100,000,但只有少数会员和帐户.当会员登录后,他只能看到他的付款.管理员登录后,他应该能够访问所有数据.

问题是:

  1. 我应该保持组织的层级结构还是应该压扁每个实体?
  2. 如果我想保持结构分层,是否有可能让组织只有部分子集(不是所有成员而不是所有付款)

谢谢.

firebase firebase-realtime-database

0
推荐指数
1
解决办法
558
查看次数