想象一下显示用户统计信息的应用。我可以有一个像这样的对象:
public class Statistic {
private int id,value;
}
值应该在不同的应用程序执行之间保持不变。对于持久性系统使用数据库,databaseAdapter可以具有:
public void saveStatisticValue(int id,int newValue);
public int getStatisticValue(int id);
如果由于数据库延迟而从UI线程调用,则在对象的getter / setter方法中使用对DataBase Adapter的调用可能会影响应用程序性能。例如,如果我想显示一个包含所有Statistics的Activity,则每个Statistic对象的getter的数据库延迟可能会导致ANR。
public class Statistic {
....
public synchronized void setValue(int newValue) {
dbAdapter.saveStatisticValue(this.getId(),newValue);
}
public synchronized int getValue() {
return dbAdapter.getStatisticValue(this.getId());
}
....
}
是否有某种方法可以减少这种模型对数据库的影响?
由于
答案 0 :(得分:0)