2016-09-22 10 views
1

Могу ли я использовать Universal Image Loader lib в статическом классе? Это означает создание одного экземпляра загрузчика изображений и его изменение до статического.Android - Использование универсального загрузчика изображений в статическом классе

Каков наилучший способ использования этого lib в разных множественных фрагментах и ​​классах? Как я могу улучшить функцию кеширования?

ответ

2

Лучший способ использования универсального погрузчика изображения является создание один экземпляр, когда ваше приложение запускается, а затем получает этот экземпляр во всем приложении.

Категория приложения

public class App extends Application { 

    public ImageLoader imageLoader; 

    public ImageLoader getImageLoader() { 
     return imageLoader; 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     // UNIVERSAL IMAGE LOADER SETUP 
     DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() 
       .resetViewBeforeLoading(true) 
       .cacheOnDisk(true) 
       .cacheInMemory(true) 
       .displayer(new FadeInBitmapDisplayer(300)) 
       .build(); 

     ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) 
       .defaultDisplayImageOptions(defaultOptions) 
       .memoryCache(new WeakMemoryCache()) 
       .diskCacheSize(100 * 1024 * 1024) 
       .build(); 

     this.imageLoader = ImageLoader.getInstance(); 
     imageLoader.init(config); 

     // END - UNIVERSAL IMAGE LOADER SETUP 
    } 
} 

Убедитесь тег приложения в AndroidManifest.xml имеет андроида: имя =»App.» Атрибут

Чтобы получить экземпляр, в деятельности

ImageLoader imageLoader = ((App)getApplicationContext()).getImageLoader(); 

вне активность

ImageLoader imageLoader = ((App)context.getApplicationContext()).getImageLoader(); 

Вы можете обратиться к блогу this.

3

ImageLoader.getInstance(); // Get singleton instance приведенная выше линия предоставит однотонный сигнал. вы можете позвонить ему, а затем выполнить свою загрузку , так как doc показывает, что есть sample project, который вы можете скачать форму github. этот примерный проект показывает, как правильно использовать эту библиотеку.

1

Я рекомендую вам использовать Glide очень хороший загрузчик изображений lib, я сам пытался и счастлив использовать его.

это то, что вам нужно прочитать и реализовать для кэширования изображений и эффективного использования Lib

https://futurestud.io/tutorials/glide-getting-started

официальная ссылка https://github.com/bumptech/glide

+0

Могу ли я использовать скольжение для получения миниатюры с удаленного источника? –

+0

@ TunahanBayındır да, вы можете использовать глиссирование для загрузки URL-адресов, он загружает URL-адреса и кэширует их в памяти, экономя много памяти. –

+0

@ darpan-s-raut Я имею в виду, может ли он получить первый кадр удаленного видео в виде эскизов? –

 Смежные вопросы

  • Нет связанных вопросов^_^