- Changed API:
- Signatures:
ImageLoader.loadImage(Context, ...)
->ImageLoader.loadImage(...)
ImageDownloader.getStream(URI)
->ImageDownloader.getStream(URI, Object)
(#150)ImageLoadingListener.onLoading***(...)
->ImageLoadingListener.onLoading***(String, View, ...)
(#130)- Constructor
PauseOnScrollListener(...)
->PauseOnScrollListener(ImageLoader, ...)
ImageDownloader
became interface,URLConnectionImageDownloader
+ExtendedImageDownloader
->BaseImageDownloader
- Renaming:
FileUtil
->IoUtil
- Removed deprecated
ImageScaleType.POWER_OF_2
andImageScaleType.EXACT
- Signatures:
- Support of "content://", "assets://", "drawable://" URI schemes out of the box (#162)
- Introduced
DisplayImageOptions.showImageOnFail(int)
- Introduced
DisplayImageOptions.preProcessor(BitmapProcessor)
andDisplayImageOptions.postProcessor(BitmapProcessor)
(#151) - Introduced
DisplayImageOptions.extraForDownloader(Object)
, allows to pass auxiliary object which will be passed toImageDownloader.getStream(URI, Object)
(#150) - Introduced
ImageLoader.denyNetworkDownloads()
andImageLoader.allowNetworkDownloads()
(#148) - Introduced
FailReason.UNSUPPORTED_URI_SCHEME
andFailReason.NETWORK_DENIED
- Introduced
ImageScaleType.NONE
- Added
DiscCacheUtil
- Prepared ImageLoader to be extandable for creation of multiple instances (#158)
- Fixed bug "Images aren't loaded after "Clear Cache" in app info" (#168)
- Switched to Apache 2.0 license
- Avoid I/O operations on the main thread, prevented ANR (#129, #154)
- Correctly handled every ImageView's scale type in
RoundedBitmapDisplayer
(#70) - Prevented slow precaching modified date in LimitedAgeDiscCache constructor (for large number of images in cache) (#141)
- Introduced
ImageLoader.isInited()
method. Throw IllegalStateException ondisplayImage(...)
,loadImage(...)
,getMemoryCache()
,clearMemoryCache()
,getDiscCache()
,clearDiscCache()
calls if ImageLoader isn't inited with config. - Closed OutputStream after Bitmap compressing (#115)
- Sample: Refactored resources
- Maven support
- Introduced
ImageLoader.pause()
andImageLoader.resume()
(#106) - Introduced
PauseOnScrollListener
(instead ofOnScrollSmartOptions
) for convenient pause/resume ImageLoader on scroll/fling in list views (#106) - Prevented consuming of lot of memory by cacheKeysForImageViews (#108)
- Introduced
DisplayImageOptions.bitmapConfig(Bitmap.Config)
(#101) - Introduced
DisplayImageOptions.delayBeforeLoading(int)
(#103) - Introduced
OnScrollSmartOptions
for convenient control of loading delay on fling in ListViews, GridViews - Added
FadeInBitmapDisplayer
- Prevented recycling of using Bitmap (#101)
- Introduced
ImageLoaderConfiguration.tasksProcessingOrder(QueueProcessingType)
(#89) - Added
MemoryCacheUtil
for work with memory cache - Fixed calculation of size the original image is needed scale to (#93)
- Allowed to create multiple
ImageLoader
instances (#92)
- Prevented showing wrong bitmap in reused view (#85)
- Fixed bug "double displaying" if image is cached in memory
- Prevented "MissingFormatWidthException" (#88)
- Changed API: Renaming:
ImageScaleType.POWER_OF_2
->IN_SAMPLE_POWER_OF_2
ImageScaleType.EXACT
->IN_SAMPLE_INT
- Introduced
ImageScaleType.EXACTLY
andImageScaleType.EXACTLY_STRETCHED
- Prevented
ImageLoadingListener
callbacks firing and displaying image in view after ImageLoader was stopped - Fixed bug of calculation of original image scale for decoding
- Introduced
ImageLoader.loadImage(...)
which loads image, decodes it to Bitmap and returns Bitmap in callback (#51) - Avoided unnecessary image downloads (#44)
- Changed API: Changed
FileNameGenerator
to interface (instead of abstract class) - Introduced
BitmapDisplayer
andDisplayImageOptions.displayer(...)
- Multithread displaying of cached images (instead of single-thread)
- Correctly handle UTF-8 symbols and spaces in image URL (#31)
- Changed API:
- Removed
DisplayImageOptions.transform()
- Changed
FileNameGenerator
to abstract class (instead of interface)
- Removed
- Fire
ImageLoadingListener
callbacks if image URI is null