2012-09-18 60 views
0

我想保存關於廣告網絡在我的應用程序的使用統計數據。基本上我想保持廣告網絡被請求的次數,產生印象或每天在請求中失敗。數據庫訪問和電池友好的應用程序

我最初的想法是有以下幾列

[ day , networkId, requests, impressions, fails] 

但我考慮了以下性能/電池消耗可能發行的SQLite數據庫:

由於我使用3個廣告網絡(1個主和2回填)的最壞情況是:

  • 網絡A請求
  • 網絡A失敗
  • 網絡B請求
  • 網絡B失敗
  • 網絡C請求
  • 網絡C的成功。

所有〜4秒以內。如果這些點中的每一個訪問數據庫以更新相應的行,則開銷是顯着的?我是否應該在內存中實現某種緩存並批量插入值(還要抓住[請求+成功]或[請求+失敗]這對進行單個更新?)或者我可以直接使用數據庫嗎?您可以直接使用數據庫

+0

你想SQLite數據庫存儲用戶的手機上?但你如何從手機中提取它? – vasart

+0

將來發送到Web服務 – Addev

+0

這很有道理。我建議你,直到你的廣告網絡請求成功創建'的['ContentProviderOperation'(http://developer.android.com/reference/android/content/ContentProviderOperation.html)ArrayList',然後用['ContentResolver.applyBatch' ](http://developer.android.com/reference/android/content/ContentResolver.html#applyBatch%28java.lang.String,%20java.util.ArrayList%3Candroid.content.ContentProviderOperation%3E%29) – vasart

回答

1

利用對象模型技術......通過這種方式,只要你改變數據就可以寫入對象......並且在一定的時間間隔內,你可以將對象模型中的數據寫入到sql數據庫中......

我看到的唯一問題是,如果烏拉圭回合的活動被殺害......或者停止對象模型會得到空...您可以通過將數據寫入數據庫,避免這種情況時有烏爾活動得到一個機會完成或殺害。