【发布时间】:2021-04-18 16:40:13
【问题描述】:
我有一个问题,Vue's observer 和 reactive 组件在运行时占用了大量内存。例如:Memory allocation on DevTools。
有没有办法分离可观察对象并使对象不反应?
或者也许还有其他东西可以大幅减少内存使用量?
export class Entity {
public Id: number;
public Array: EntityArray[] | undefined;
public CreatedBy: string;
public CreatedOn: Date;
public ModifiedBy: string;
public ModifiedOn: Date;
constructor(p?: IEntity) {
this.Id = p ? p.Id : 0;
this.Array = p && p.Array ? p.Array.map((m: IEntityArray) => new EntityArray(m)) : [];
this.CreatedBy = p ? p.CreatedBy : '';
this.CreatedOn = p ? p.CreatedOn : new Date();
this.ModifiedBy = p ? p.ModifiedBy : '';
this.ModifiedOn = p ? p.ModifiedOn : new Date();
}
我在这里初始化Array,它是extended 由另一个实体在Vue 组件的beforeMount() 方法中初始化。我认为这个 Array 对象是实际消耗大量内存的主要问题,因为它可能有数千个项目。
我对整个记忆的想法也可能是错误的。欢迎任何人提供见解和解决方案。谢谢
【问题讨论】:
标签: javascript vue.js memory-leaks out-of-memory reactive-programming