作者:
jonjes (HONOKA)
2017-08-22 19:47:54最近在練習串接api
大概做成tableView顯示固定數量,下拉後會追加cell數
但發現每次下載,memory就會往上升,明明才200初筆資料
Memory卻會到600多(單純的圖片跟文字而已)
以下是目前的寫的方法(抱歉,電腦不在身邊,只能憑記憶了)
let url = URL(string:"xxxx")
let data = try? Data(URL:url)
Dispatch queue.main.async{
myImageVIew.image = UIImage(data:data)
}
外面還包了一層if 來做判斷 看cache裡有沒有圖片,沒有才下載
雖然知道有第三方可以輕鬆解決,但想先嘗試用原生的來做
不知道前輩們有沒有遇過這種問題?是如何解決的?
作者: kkk003 (海寒) 2017-08-22 21:37:00
可以嘗試用不同作法達到相同結果來比較看看例如先轉成image後存到陣列再做顯示之類的
作者:
yuanruo (罪を憎んで人を憎まず)
2017-08-23 04:05:00memory飆升就 圖太大了...
作者:
darktt (小朱)
2017-08-23 08:24:00你的圖全部都存在記憶體中,當然記憶體消耗量高啊建議先下載成檔案之後才顯示
如darktt所述,通常要做memory, disk雙cache
作者:
tkdmaf (皮皮快跑)
2017-08-23 11:33:00之前弄一個官方平台景點資料,他的原始圖有的就24MB……這種情況就既耗流量又耗記憶體了……結果我只好先用其他的方式載圖到server上再全體壓縮24MB硬是降成24KB
作者:
mraaa (重新出發....)
2017-08-29 07:44:00是不能用第三方Library嗎?很多第三方Library都幫你處理好了。