2011-02-02 40 views
0

我一直在用java開發服務器端應用程序,現在我被要求爲一些移動應用程序提供服務。這個問題總是讓我誤以爲應該發送給應用的「多少」數據? 如果我必須傳輸一個大的xml文檔,我應該按照要求逐節點發送它...如果是的話,不會消耗更多的手機電池(因爲手機將爲所有節點創建新的連接) 。如果我決定一次發送整個文檔,客戶可能需要很長時間才能下載整個文檔,並且可能會暫時存儲該文檔,甚至可能會出現數據不一致的情況。總之,我需要知道「是否爲移動設備創建了連接,太貴了?」哪種方法更好 - 通過創建多個連接接收數據塊,或通過一個連接接收所有數據。爲移動應用程序開發Web服務時的設計考慮

我還需要知道,在爲移動客戶端開發我的Web服務時,我應該向他們發送圖像URI還是圖像數據(如字節數組)?

謝謝。

回答

1

你應該下載儘可能少的(次)。 這是將回答你的問題的應用程序。不要下載1000個項目的列表,只加載10個,等待用戶向下滾動,加載下一個10.緩存項目。

做一件比較棘手的事情就是在開始時註冊用戶,即下載數據,他第一次使用應用程序,它會下載儘可能多的東西,根據需要進行下載,第一次調用它加載。註冊,用戶下載的內容。來自用戶的下一個呼叫只會向他發送已更改的數據,並用此數據發送要在客戶端設備上執行的更改。

1

對於移動客戶端,延遲殺死的數據包大小超過了數據包大小。雖然您不應該發送比您要消耗的數據更多的數據,但逐個節點並不是一個好方法。這不像用戶體驗答案那麼重要。

構建移動設備的最佳方式是找到正確的一口飯。換句話說,您一次不會發送10,000條記錄,但一次不會發送10行1行的網格。

根據圖像大小,您應該直接發送圖像(base64編碼是通用的),而不是鏈接。一個例外就是將用戶發送到網頁並讓他們瀏覽,但這不是一個真正的「移動應用程序」,對吧?

相關問題