日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超棒的Glide图片加载

發布時間:2023/12/2 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超棒的Glide图片加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GitHub開源:https://github.com/bumptech/glide

超棒的工具,竟然還可以加載.gif !!Glide完全基于Picasso,沿襲了其簡潔風格,并在其基礎上做了大量優化與改進。


1、Glide默認的Bitmap格式是RGB_565,而Picasso默認ARGB_8888,Glide內存開銷要小一半。

2、磁盤存儲方面,Picasso只緩存原始圖片,而Glide可以根據ImageView大小來緩存相應圖片大小,這個改進使Glide速度更快。

3、Glide支持加載.gif動圖,Picasso不支持。

總體來說,Glide是在Picasso基礎上進行的二次開發,各方面做了不少改進,但也導致Glide的包比較大(<500k),Picasso是100k左右。

一篇兩者的比較:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html


github介紹使用方法:

// For a simple view: @Override public void onCreate(Bundle savedInstanceState) {...ImageView imageView = (ImageView) findViewById(R.id.my_image_view);Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView); }// For a simple image list: @Override public View getView(int position, View recycled, ViewGroup container) {final ImageView myImageView;if (recycled == null) {myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false);} else {myImageView = (ImageView) recycled;}String url = myUrls.get(position);Glide.with(myFragment).load(url).centerCrop().placeholder(R.drawable.loading_spinner).crossFade().into(myImageView);return myImageView; }
實例:在ListView中使用Glide加載.gif和.jpg:

?


在適配器Adapter的getView()中(比Universal-Image-loader簡潔太多啦!):

@Overridepublic View getView(int position,View convertView,ViewGroup parent){ViewHolder viewHolder;View view;if(convertView == null){viewHolder = new ViewHolder();view = LayoutInflater.from(getContext()).inflate(resource, null);viewHolder.imageView = (ImageView)view.findViewById(R.id.image_item); view.setTag(viewHolder);}else{view = convertView;viewHolder = (ViewHolder)view.getTag();}String imageUrl = Urls.imageUrls[position];Glide.with(getContext()).load(imageUrl).centerCrop().crossFade().into(viewHolder.imageView);return view;}//.override(int width,int height).placeholder(R.drawable.ic_launcher).error(R.drawable.ic_launcher)class ViewHolder{ImageView imageView;}


Glide.with()

** 總結:可以傳入的參數有?
*@see #with( Android .app.Activity)?
* @see #with(android.app.Fragment)?
* @see #with(android.support.v4.app.Fragment)?
* @see #with(android.support.v4.app.FragmentActivity)

centerCrop是一種裁剪技術,縮放圖像,讓它填充到ImageView.

crossFade(),淡入淡出效果

into(),imageView的id.


Urls.java

package sunny.example.helloglidelistview;public class Urls {final static String[] imageUrls = new String[]{"http://img.ui.cn/data/file/8/0/2/666208.gif","http://img.ui.cn/data/file/8/3/8/667838.jpg","http://img.ui.cn/data/file/9/5/9/654959.jpg","http://img.ui.cn/data/file/7/0/3/668307.jpg","http://img.ui.cn/data/file/6/0/1/663106.jpg","http://img.ui.cn/data/file/6/5/8/664856.jpg","http://img.ui.cn/data/file/0/2/2/666220.jpg","http://img.ui.cn/data/file/2/5/1/667152.gif","http://img.ui.cn/data/file/3/5/1/667153.jpg","http://img.ui.cn/data/file/8/3/8/664838.jpg"}; }Thanks to?http://www.ui.cn/


Item.java

public class Item {private String imageUrl;public Item(String imageUrl){this.imageUrl = imageUrl;}}


?

MainActivity.java

?

package sunny.example.helloglidelistview;import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.widget.ListView; import java.util.ArrayList;public class MainActivity extends ActionBarActivity {private ListView listView;private ArrayList<Item> arrayList;private Item item;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (ListView)findViewById(R.id.listView);arrayList = new ArrayList<Item>();for(int i = 0;i < Urls.imageUrls.length;i++){item = new Item(Urls.imageUrls[i]);arrayList.add(item);}ItemAdapter adapter = new ItemAdapter(this,R.layout.image_item,arrayList);listView.setAdapter(adapter);}}

完整代碼在:https://github.com/HiSunny/HelloGlideListView.git

Thanks to stromzhang

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的超棒的Glide图片加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。