ListView滚动优化

(1)ListView调用Adapter的getView方法获取每一个Item布局。

 

(2)将这些已经获得的Item布局放入缓存。

 

(3)ListView只渲染可视高度的Item布局,滑动时渲染其它Item布局。

 

(4)当ListView滑动时调用getView方法获取Item布局,如果这个Item布局已经被缓存则它将以getView的第二个参数传入。

 

*  优化代码: public View getView(int position, View mCacheView, ViewGroup parent) { ViewHolder mViewHolder; if (mCacheView== null) { mCacheView= mInflater.inflate(R.layout.布局, null); mViewHolder = new ViewHolder(); mViewHolder.mContent = (TextView) mCacheView.findViewById(R.id.mContent); mViewHolder.mIcon = (ImageView) mCacheView.findViewById(R.id.mIcon); mCacheView.setTag(mViewHolder); } else { mViewHolder = (ViewHolder) mCacheView.getTag(); } mViewHolder.mContent.setText("内容"); mViewHolder.mIcon.setImageBitmap("图片"); return mCacheView; } class ViewHolder { TextView mContent; ImageView mIcon; }

你可能感兴趣的:(ListView滚动优化)