2015-06-23 103 views
2

我建立這需要顯示的圖像作爲從服務器檢索倒裝視圖的Android應用程序檢索圖像。我已經考慮兩種方法安卓:從服務器

  1. 檢索來自服務器的URL的圖像,然後顯示或
  2. 在服務器(MySQL的)數據庫中存儲的圖像,然後從SQ-精簡版的Android應用程序取回

我的問題是,考慮到一切(性能等),哪種方法會更好?

任何其他更好的辦法,也歡迎:)

回答

3

這取決於你的應用程序和你要顯示使用圖像,如果沒有更新他們經常那就更好地使用緩存更快的用戶體驗的產品但是如果數據是監管更新的,並且以前的數據一直在進行過濾,則始終使用網絡加載。

另一種方法,你可以只存儲最新的10-20項在數據庫中,一旦你打開應用程序,他可以看到一些數據和新的數據被下載,這種方法可以使用戶搞不離開他們你的應用程序只因爲每次他們看到加載。

圖像緩存目的有各種好的庫avaible這對多幅圖像下載和高速緩存的目的例如穩定的解決方案 UniversalImageLoaderpicassoVolley

1
  1. 你在本地存儲圖像,然後加載到你的應用程序從本地存儲(這發生在後臺線程)

  2. 您可以通過獲取背景圖像更新本地存儲,然後觸發本地存儲的負載(這也發生在後臺線程中)

這樣你贏得了ANR的(應用程序沒有響應因爲互聯網連接速度緩慢或缺失,您將能夠在沒有連接的情況下顯示圖像。

1

一個好的方法可以在本地對本地需求的存儲圖像,並將其保留在緩存中,如果在未來的影像學改變,你可以取消你的緩存並下載一個新的形象。

我曾經在一個項目中使用的庫,可以幫助我很多與下載圖像背景,還允許你如果以前存儲或緩存失效自動加載圖像從緩存中。圖書館是android-query,這裏是你如何可以use它的例子。