Ant*_*ony 6 java optimization android firebase
当您在Android应用中处理Firebase数据(读取,写入...)时,您需要获取firebase引用,然后才能处理数据.
由于Firebase引用是一个JSON树,如果您指向树根,则可以始终访问子项,与深度无关.
问题:从内存和延迟角度来看,在代码中处理此引用的最佳方法是什么?
1 /创建一个静态Firebase引用应用程序中的根.
MyApplication.getFirebaseRootRef().chid(C1).chid(C11).setValue(...);
Run Code Online (Sandbox Code Playgroud)
2 /为孩子C11创建一个新的firebase ref
Firebase ref = new Firebase("https://your.firebaseio.com/C1/C11");
ref..setValue(...);
Run Code Online (Sandbox Code Playgroud)
3 /混合动力车
Firebase ref = new Firebase("https://your.firebaseio.com");
ref.child(C1).child(C11).setValue(...);
Run Code Online (Sandbox Code Playgroud)
4 /混合2
Firebase ref = new Firebase("https://your.firebaseio.com").child(C1).child(C11);
ref.setValue(...);
Run Code Online (Sandbox Code Playgroud)
性能有什么不同吗?
也许你可能有一些关于可读性和维护的建议?
Firebase查询和引用是轻量级对象.繁重的工作是在幕后由Firebase SDK本身内部(并由其管理)的类完成的.
因此,您提出的任何方法之间的性能都不会有显着差异.
个人偏好如下
我通常会在每个活动中保留一个参考作为成员.
class MainActivity extends AppCompatActivity {
Firebase mRef;
Run Code Online (Sandbox Code Playgroud)
如果我有更多的主要列表类型,我将为这些添加成员:
class MainActivity extends AppCompatActivity {
Firebase mRef;
Firebase mUsersRef;
Firebase mPostsRef;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(...);
...
mRef = new Firebase("https://yours.firebaseio.com");
mUsersRef = mRef.child("users");
mPostsRef = mRef.child("posts");
...
}
Run Code Online (Sandbox Code Playgroud)
通过在每个活动中放置所有内容,这些内容都非常独立.
| 归档时间: |
|
| 查看次数: |
2290 次 |
| 最近记录: |