Glideを使用した最適化

4115 ワード

Glideを使用した最適化
Glide.with(context).resumeRequests();
Glide.with(context).pauseRequests();
参考にすることができる
ローリングローディング、ローリングしない時はローディングしないで、listviewの効率を高めます.
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
    switch (scrollState){
        case SCROLL_STATE_FLING:
            Log.i("ListView","           ,      ,            ");
            Glide.with(getApplicationContext()).pauseRequests();
            //  
            break;
        case SCROLL_STATE_IDLE:
            Log.i("ListView", "        ");
            Glide.with(getApplicationContext()).resumeRequests();
            break;
        case SCROLL_STATE_TOUCH_SCROLL:
            Log.i("ListView","        ,      ");
            Glide.with(getApplicationContext()).resumeRequests();
            break;
    }

}
  :http://blog.csdn.net/libra_louis/article/details/55517568

  Adapter View                                          。 
             ,             ,       ,       ItemView 。
しかし、我々がGlideを使って画像をロードすると、You must not call setTag()on a view Glide is targtingエラーが発生します.この時はセットTag(key,object)で設定すればいいです.
String title = dataBean.getTitle();
        String uri = dataBean.getThumbnail_pic_s();
        holder.mImgContentItem.setTag(R.id.imageid,uri);
        if(holder.mImgContentItem.getTag(R.id.imageid)!=null&&uri==holder.mImgContentItem.getTag(R.id.imageid)){
            Glide.with(mContext).load(uri).into(holder.mImgContentItem);
            holder.mTextContentItem.setText(title);
        }
  • 1
  • ,
  • 5
  • ,
  • 注意:setTag内の最初のパラメータkeyは、resourceリソースでなければなりません.res-value内にids.xmlを作成すればいいです.内部コード:
    
    <resources>
        <item name="imageid" type="id"/>
    resources>
  • 1
  • ,
  • R.idで引用できます.