寶慕林4294392
2019-04-12 14:15:02
列如,我的一個Activity要加載n張圖片,我知道了路徑為一個list,一下子加載完很不好吧?1.有沒有加載一半的做法?該如何做?2.加載了圖片用了,之后不用了,我如何讓它釋放?3.是不是生成n個ImageView?在這里提問個這樣的問題,因為我想弄一個Image的視頻。你想想,一個MP4就上1G。人家是如何加載的?
5 回答

慕田峪4524236
TA貢獻1875條經(jīng)驗 獲得超5個贊
你的activity上要同時顯示幾張圖片有要求嗎?
如果就顯示一張,那么可以多緩存一張。當然了,加載的過程要開啟一個新線程在后臺來做。
如果要顯示多張,可以考慮HorizontalListView。

臨摹微笑
TA貢獻1982條經(jīng)驗 獲得超2個贊
ListView和GridView都是自帶動態(tài)加載的,不會OOM的,但是畫廊控件是不行的,ListView和GridView都是內(nèi)部有一個item重用機制,比如一個屏幕有8個item,item8出屏幕之后就會添加到可重用item的隊列中,然后當下一個item出現(xiàn),就會從可重用的item中拿出,重新加載圖片和布局再顯示,也就是說對象數(shù)就是這幾個item,大大節(jié)省了內(nèi)存,如果樓主要自己進行動態(tài)加載,也是這個原理,對象數(shù)目不變,變的只是對象上顯示的內(nèi)容。listView使用Holder的方法使得每次都不用再初始化布局,大大提高了效率和流暢度
添加回答
舉報
0/150
提交
取消