2010-05-26 98 views
0

我正在開發一個Android應用程序,我有一個兩難的問題。我有一個對象列表。我必須用數據庫來更新每個這些對象。我有2種方法:從android訪問數據庫的最佳方式

方法1: 我可以通過對象循環。對於每個對象,我都可以連接到服務器,進行更新,然後轉到下一個對象,等等。

方法2: 我可以將對象存儲在一個列表中,整個列表發送到服務器,更新它在服務器端,然後返回更新的對象的列表。

我的問題是:

  1. 哪種方法更快?
  2. 手機電池上哪種方法更簡單?

順便說一下,方法1更容易代碼:)。謝謝。

回答

4

方法1:將需要更長的時間和使用更多的帶寬和處理能力
原因:

  • 每個網絡的通話將擁有自己的套接字創建和關閉的開銷。
  • 每個網絡調用可能必須等到打開套接字並握手正常完成。
  • 每個「更新」可能會在您傳遞的消息方面有其自身的開銷。例如,如果您將XML數據傳遞給服務器,則可能需要爲每個對象重複包含標籤等。每個對象(在XML,天然的或以其他方式)的
  • 序列化將傾向於具有額外開銷每次

方法2:將通常需要更少的時間,而且往往利用​​更少的帶寬和處理能力
原因:見上面:)

0

我不認爲會有很大的區別(取決於大小),但方法2會更有效率,因爲您在啓動過程,協商等方面的開銷較小。我總是會用方法2。

但是在性能方面,我不認爲這確實很重要。

相關問題