1. 程式人生 > >圖片儲存至本地-測試總結

圖片儲存至本地-測試總結

昨天上線出了一個嚴重的問題,真是失誤,下面簡單說一下過程

產品經理找開發在版本之外加一個額外的“小”需求:長按圖片可至本地。知道這個需求後,覺得比較簡單,以至於測試用例都沒寫…感覺可能會牽涉到儲存許可權外,並叮囑開發注意許可權問題;測試期間主要關注下圖片是否儲存到本地就OK了。然而大錯特錯,一點都不OK,上線後就沒多久就被噴…因為老大經常會連結VPN檢視國外的訊息,所以網速不是很好,導致儲存圖片時崩潰率是1/2,嚇得我手機都想扔了,升級推送的包趕快讓同事幫忙下掉。emmmm,幸虧沒有釋出到應用商店,不然損失慘重…

後來發現,弱網環境下清晰圖片沒有加載出來之前點選儲存才會閃退,並且這種情況下是必現的。這裡就要提到圖片載入策略:預設圖->模糊圖->高清圖,首頁動態列表載入的過程中,會先載入模糊圖,點選圖片檢視的時候,先顯示之前載入好的模糊圖,高清圖載入好後再顯示高清圖,由於高清圖沒有加載出來,所以沒有儲存的物件,故應用崩潰。後來開發做了優化,高清圖沒有加載出來前,長按圖片下方不彈出儲存圖片入口。

讀寫許可權(Android6.0) 所以啊,之前考慮的太過簡單了,圖片雖說牽涉到本地儲存,也就是說讀寫許可權,百度了下相關知識,Android6.0之後的系統,儲存檔案至手機記憶體中是不需要申請讀寫許可權,儲存至SD卡則需要動態申請,如果想了解更多可參考:Android資料儲存之Android 6.0執行時許可權下檔案儲存的思考;但是圖片儲存前是否有物件,前置條件忽略掉了(測試一大禁忌),而圖片的載入跟網路環境和網速有關,比如wifi,4G,3G,WiFi->3G,3G->WIFI,需要驗證這些情況下圖片是否載入正常。得嘞,在嚴格的標準下,又發現了一個小問題,3G->WIFI情況下,高清圖加載出來了,但是長按始終無法出現儲存圖片的入口,後來瞭解到是,長按出現[儲存圖片]入口和圖片載入是兩個非同步事件,所以網速差的時候,這種情況就比較明顯了。emmmm,非同步事件?同步事件?看來需要學習的東西很多啊·····