想象一个显示用户统计信息的应用程序。我可以有一个像这样的对象:
public class Statistic {
private int id,value;
}
值应该在不同的应用程序执行之间保持不变。为持久系统使用数据库,databaseAdapter 可以具有:
public void saveStatisticValue(int id,int newValue);
public int getStatisticValue(int id);
如果由于数据库延迟从 UI 线程调用,在对象的 getter/setter 方法中使用对数据库适配器的调用可能会影响应用程序性能。例如,如果我想显示一个包含所有统计信息的 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());
}
....
}
是否有某种方法可以减少此类模型对数据库的影响?
谢谢