2014-10-09 44 views
-3

我想發送一個由servlet中的服務器類到android類的2000行的長json字符串。那麼更好的辦法是發送2000行的完整json字符串或將2000行json字符串拆分爲多個部分。在性能和低內存利用率的基礎上,哪個更好?以及如何做到這一點?哪個更好,完全發送一個2000行的字符串或將它從servlet類發送到android/java類時將其拆分爲多個部分?

+1

2000行不算什麼。只需發送一份草稿。 – 2014-10-09 19:56:41

+0

當你測試兩個選項時發生了什麼? – admdrew 2014-10-09 19:58:21

+1

相關:[哪個更快?](http://ericlippert.com/2012/12/17/performance-rant/)Eric Lippert。只有你可以回答這個問題。另外,你可能試圖解決一個不存在的問題。可讀性和可維護性的代碼首先(通常),並解決性能問題,因爲它們變得相關(同樣,泛化,但大部分是真實的)。 – tnw 2014-10-09 20:01:49

回答

1

如果每一行的填充程度都很低(如果格式化json的話可能會出現這種情況),那麼您需要查看幾百KB的數據。

就網絡性能而言,除非你有一些瘋狂的丟包網絡,在它正確之前必須多次發送整個東西,這對於這個數據量來說還是不太可能。

就內存/ CPU性能而言,分解會使用更多的週期,但實際上並不重要。幾百KB的字符串在最近最棘手的硬件上相當馴服。

只需一次發送。

+0

好的謝謝。假設有一個案例,當代替json時,我發送一個包含非常大的數據並且大小爲3-4MB的字符串。那麼直接發送它還是更好?或者我應該把它分成幾部分? – 2014-10-09 20:11:30

+0

考慮從網上下載文件......它們通常有幾十或幾百個兆字節,並且只有一個。我能看到分手的唯一原因是(a)你不需要全部或者(b)整體預計需要很長時間才能下載。 – Tom 2014-10-09 20:25:15

相關問題