0

我想在我的应用中保存有关广告网络使用情况的统计信息。基本上,我想维护每天请求广告网络、产生印象或请求失败的次数。

我最初的想法是拥有一个包含以下列的 SQLite 数据库

[ day , networkId, requests, impressions, fails] 

但我正在考虑以下性能/电池消耗可能的问题:

由于我使用 3 个广告网络(1 个主要广告网络和 2 个作为回填广告网络),最坏的情况是:

  • 网络 A 请求
  • 网络 A 失败
  • 请求网络 B
  • 网络 B 失败
  • 网络 C 请求
  • 网络 C 成功。

全部在约 4 秒内完成。如果每一点都访问数据库以更新相应的行,那么开销会很大吗?我应该在内存中实现某种缓存并批量插入值(同时抓住一对 [request+success] 或 [request+fail] 进行单次更新?)还是我可以直接使用数据库

4

1 回答 1

1

您可以利用对象模型技术...每当您更改数据时,您可以将其写入对象...并且在某个时间间隔内,您可以将对象模型中的数据写入 sql 数据库。 ..

我看到的唯一问题是,如果您的活动被终止...或停止对象模型将变空...当您的活动有可能完成或终止时,您可以通过将数据写入数据库来避免这种情况。

于 2012-09-18T21:56:29.000 回答