流媒體開發之-伺服器圖片的載入

來源:互聯網
上載者:User

    

可可工作室出品:

歡迎使用可可直播視頻播放器:

http://pan.baidu.com/share/link?shareid=3291150676&uk=4111208708

      我們在開發直播的時候,要顯示電視台的表徵圖,而OOM也是經常遇到的,為瞭解決這個問題,我使用了網上一個開源的網狀圖片載入工具Android-Universal-Image-Loader,它的官網https://github.com/nostra13/Android-Universal-Image-Loader 能夠協助我們解決這個問題,而且種類多樣性,代碼裡面不僅給出的源碼而且給出來demo執行個體,我們先可以看看它官方執行個體的圖片:



當然布局我們可以自己定義,下面介紹一下使用時候需要注意的地方:

1、首先要在application中的onCreate添加

public static void initImageLoader(Context context) {// This configuration tuning is custom. You can tune every option, you may tune some of them,// or you can create default configuration by//  ImageLoaderConfiguration.createDefault(this);// method.ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().discCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs() // Remove for release app.build();// Initialize ImageLoader with configuration.ImageLoader.getInstance().init(config);}

否則你使用ImageLoader的時候會提示你先要init才能使用

2、直播一般是擷取伺服器資料,所以我們還需要解析伺服器返回的資料(可能是json,xml),把解析完後的資料我們可以放在List裡面,然後在Adapter中的getView中調用

imageLoader.displayImage(imageUrls[position], holder.image, options, animateFirstListener);

其中的animateFirstListener為:

private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener {static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>());@Overridepublic void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {if (loadedImage != null) {ImageView imageView = (ImageView) view;boolean firstDisplay = !displayedImages.contains(imageUri);if (firstDisplay) {FadeInBitmapDisplayer.animate(imageView, 500);displayedImages.add(imageUri);}}}}

這樣就完成了,非常方便。

歡迎使用可可直播視頻播放器:

http://pan.baidu.com/share/link?shareid=3291150676&uk=4111208708

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.