Firebase Ionic2+;AngularFire2离线=内存泄漏
更新:我在没有离线包装的情况下再次测试了它,它似乎工作正常(我以前肯定错过了一些东西),因此问题似乎是由AngularFire2离线()引起的。有没有人经历过类似的问题 我正在Ionic2中使用Firebase作为数据库构建一个Android应用程序,看起来我有一个内存泄漏,到目前为止我还无法修复。要加载firebase数据,我使用AngularFire2和AngularFire2离线 为了测试这个问题,我简化了数据结构和应用程序功能。对于数据,我有一个用户列表,每个用户都有一个任务列表(任务是用户的子任务)。在应用程序中,我有两个页面-第一个页面显示用户列表,第二个页面显示选定用户的任务。每个任务都有一个复选框-一旦选中,任务的Firebase Ionic2+;AngularFire2离线=内存泄漏,firebase,memory-leaks,firebase-realtime-database,ionic2,angularfire2,Firebase,Memory Leaks,Firebase Realtime Database,Ionic2,Angularfire2,更新:我在没有离线包装的情况下再次测试了它,它似乎工作正常(我以前肯定错过了一些东西),因此问题似乎是由AngularFire2离线()引起的。有没有人经历过类似的问题 我正在Ionic2中使用Firebase作为数据库构建一个Android应用程序,看起来我有一个内存泄漏,到目前为止我还无法修复。要加载firebase数据,我使用AngularFire2和AngularFire2离线 为了测试这个问题,我简化了数据结构和应用程序功能。对于数据,我有一个用户列表,每个用户都有一个任务列表(任务是
isDone
标志将更新,并且不再显示任务(我使用搜索管道仅显示isDone==false
的任务)
问题是,每次任务更新时,内存使用量都会显著增加(约1MB)。下面的屏幕截图显示了3个快照:
- 在html页面中(循环开始):
- 在控制器-更新任务中:
this.data.updateTask(this.userKey, task.$key, task);
- 数据提供程序中的两种方法:
getTasks(userKey: string): AfoListObservable<Task[]> { return this.db.list("/users/" + userKey + "/tasks"); } updateItem(userKey: string, taskKey: string, task: Task): firebase.Promise<void> { return this.db.object("/users/" + userKey + "/tasks/" + taskKey).update(task); }
gettask(userKey:string):可观察{ 返回此.db.list(“/users/”+userKey+“/tasks”); } updateItem(userKey:string,taskKey:string,task:task):firebase.Promise{ 返回此.db.object(“/users/”+userKey+“/tasks/”+taskKey).update(任务); }
this.data.updateTask(this.userKey, task.$key, task);
getTasks(userKey: string): AfoListObservable<Task[]> {
return this.db.list("/users/" + userKey + "/tasks");
}
updateItem(userKey: string, taskKey: string, task: Task): firebase.Promise<void> {
return this.db.object("/users/" + userKey + "/tasks/" + taskKey).update(task);
}