一般在界面中涉及到大量圖片加載的時候都會產生卡頓,所以須要優化網絡
其核心思想就是減小在getView()中的代碼量和操做,讓其儘量的輕量化。衆多方法最根本的目的是 將一切耗時的操做從getView中抽離,常見的耗時如 大量計算,加載圖片,加載網絡數據,加載資源文件,new 對象的操做等等, 儘可能讓getView只設置值。異步
最基本的有:佈局
1.複用convertView,這是最基本的 ,不要每次新建一個item就產生一個view對象 這樣很容易致使滑動不順暢甚至內存溢出;優化
2.ViewHolder 也是 減小item中控件的findViewById操做,也節約了很多內存對象
ListView中有圖片的時候,咱們儘可能使用異步操做來加載圖片圖片
爲了防止滑動不順暢 咱們能夠在滑動的時候不請求數據不加載圖片,或者不在快速滑動的時候加載圖片,實現起來也不麻煩,給 ListView 設置 ScrollListener,針對 Fling 的狀況作處理就好了。而後在滑動中止後再操做。內存
對listview中圖片要進行規範,通常狀況都須要進行壓縮資源
listView的item中儘可能減小布局層次結構,item中的空件寬高儘可能寫成固定的值或者math_parent,減小view的繪製 同理若是使用權重的地方過多也會增長繪製的壓力get
listView分頁請求數據也能夠減小壓力it