ユーザー統計を表示するアプリを想像してみてください。次のようなオブジェクトを持つことができます。
public class Statistic {
private int id,value;
}
異なるアプリの実行間で値が保持される場所。永続的なシステムにデータベースを使用すると、databaseAdapter は次のものを持つことができます。
public void saveStatisticValue(int id,int newValue);
public int getStatisticValue(int id);
オブジェクトのゲッター/セッター メソッドでデータベース アダプターへのその呼び出しを使用すると、データベースの遅延が原因で UI スレッドから呼び出された場合、アプリのパフォーマンスに影響を与える可能性があります。たとえば、すべての統計を含むアクティビティを表示したい場合、各統計オブジェクトのゲッターのデータベース遅延により、ANR が発生する可能性があります。
public class Statistic {
....
public synchronized void setValue(int newValue) {
dbAdapter.saveStatisticValue(this.getId(),newValue);
}
public synchronized int getValue() {
return dbAdapter.getStatisticValue(this.getId());
}
....
}
この種のモデルのデータベースへの影響を軽減するための何らかのアプローチはありますか?
ありがとう