安卓开发之ListView优化方案
生活随笔
收集整理的這篇文章主要介紹了
安卓开发之ListView优化方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ListView優化方案
ListView的一些優化
一、Adapter中的優化
運用了convertView的回收視圖,當convertView不為NULL時,就不需要再去解析視圖。
還利用了viewholder模式,不用每次都去通過id查找控件findViewByID,而是將View保存在viewholder中,再通過convertView將viewholder標記下來。
實例代碼
public class BookAdapter extends BaseAdapter {private Context mContext;private List<Book> mdata;public BookAdapter(Context mContext, List<Book> mdata) {this.mContext = mContext;this.mdata = mdata;}public void refresh(List<Book> list) {mdata = list;notifyDataSetChanged();}public List<Book> getDataList() {return mdata;}@Overridepublic int getCount() {return mdata.size();}@Overridepublic Book getItem(int position) {return mdata.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Holder holder = null;if (convertView == null) {LayoutInflater inflater = LayoutInflater.from(mContext);convertView = inflater.inflate(R.layout.item_book, null);holder = new Holder();holder.tv_book = (TextView)convertView.findViewById(R.id.book_text);holder.tv_uri = (TextView) convertView.findViewById(R.id.book_uri);convertView.setTag(holder);} else {holder = (Holder) convertView.getTag();}holder.tv_book.setText(mdata.get(position).getName());holder.tv_uri.setText(mdata.get(position).getLink());return convertView;}class Holder {private TextView tv_book ,tv_uri;}}二、圖片的異步加載
監聽ListView滾動狀態,只有當其靜止的時候才異步加載網絡圖片數據。
(給ImageView設置tag)
三、圖片的緩存加載
總結
以上是生活随笔為你收集整理的安卓开发之ListView优化方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UEditor 编辑器的下载与安装
- 下一篇: 关于初级java程序员面试题总结(每月更