{"id":18497133,"url":"https://github.com/arthurhub/android-fast-image-loader","last_synced_at":"2025-04-09T00:30:32.197Z","repository":{"id":26369030,"uuid":"29818255","full_name":"ArthurHub/Android-Fast-Image-Loader","owner":"ArthurHub","description":"New approach to image loading to provide the fastest and most lightweight image handling possible.","archived":false,"fork":false,"pushed_at":"2015-02-26T09:25:42.000Z","size":2352,"stargazers_count":36,"open_issues_count":2,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-23T19:44:28.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArthurHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-25T15:17:25.000Z","updated_at":"2024-10-09T06:05:36.000Z","dependencies_parsed_at":"2022-08-21T06:00:21.671Z","dependency_job_id":null,"html_url":"https://github.com/ArthurHub/Android-Fast-Image-Loader","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurHub%2FAndroid-Fast-Image-Loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurHub%2FAndroid-Fast-Image-Loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurHub%2FAndroid-Fast-Image-Loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurHub%2FAndroid-Fast-Image-Loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArthurHub","download_url":"https://codeload.github.com/ArthurHub/Android-Fast-Image-Loader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247949644,"owners_count":21023360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T13:33:35.140Z","updated_at":"2025-04-09T00:30:31.897Z","avatar_url":"https://github.com/ArthurHub.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Fast Image Loader   \nNew approach to image loading that overcomes Android memory management limitation by leveraging size, density, config, aggressive bitmap reuse and super-fast disk loading, to provide the fastest and most lightweight image handling possible.   \n\nThis library requires fine-tuning work, if you are just looking for simple library I would recommend: [Picasso][1], [Glide][2], [Universal Image Loader][3] or [Volley][4].   \n\n### Quick Start   \n```groovy      \ncompile  'com.theartofdev:fast-image-loader:0.8.+'\n```   \n\n```java\n// initialize fast image loader to use thumbor image service\nFastImageLoader.init(application)\n        .setDefaultImageServiceAdapter(new ThumborAdapter(\"http://myThumbor.com/\"))\n        .setDebugIndicator(true);\n\n// create image loading specification with specific image dimensions\nFastImageLoader.buildSpec(\"ImageSpec\")\n        .setDimensionByResource(R.dimen.imageWidth, R.dimen.imageHeight)\n        .build();\n```\n\n```java\n// replace ImageView with TargetImageView in the UI\n((TargetImageView)findViewById(R.id.imageView)).loadImage(imageUri, \"ImageSpec\");\n```\n\n### Features   \n \n* Smart memory and disk caching.  \n* Super-fast, asynchronous, disk cache loading.  \n* Asynchronous and parallel download.  \n* Low memory footprint and optimizations for memory pressure.  \n* Image services support ( [Thumbor ][5], [imgIX ][6], etc.)  \n* Highly customizable specification loading (size/format/density/bitmap config/etc.)  \n* Alternative specification loading.  \n* Pre-fetch download images.  \n* Advanced bitmaps reuse using inBitmap, reusing bitmaps on destroy and invisibility.  \n* Smart prioritization and canceling of image load requests, more than list item reuse.  \n* Placeholder, round rendering, download progress, fade-in animation support.  \n* Extensive extensibility.  \n* Logging and analytics hooks.  \n* Debug indicator (loaded from Memory/Disk/Network).    \n   \n\n### Leverage Size, Density and Config   \nThere is a little benefit to download 1500x1500 pixel (450 ppi) image that will take **8.5 MB**  of memory to show 500x500 preview in a feed where the user scrolls quickly. It will be much better to decrees the image density by half and use 565 bitmap config lowering the memory footprint to **1 MB** , empirically, without loss of quality.   \n\n### Aggressive bitmap reuse   \nTo limit the amount of memory allocated and GC work the library reused bitmaps as soon as they are no longer visible in the UI.   \n \n* Activity/Fragment images that have not been destroyed but are no longer visible (onStop has been called) are eligible for bitmap reuse.  \n* When the Activity/Fragment becomes visible again, if the bitmap was reused, the image is reload.  \n* After initial allocations, bitmap reuse prevents almost all subsequent allocations.  \n* High disk loading performance make this process seamless.    \n   \n\n### High disk cache performance   \n \n* Up to 5-8 times faster load of cached images from disk.  \n* Will add benchmark comparison…    \n   \n\n### License   \nThe MIT License (MIT)   \nCopyright (c) 2015 Arthur Teplitzki   \nSee [license.md][7]     \n\n[1]: http://square.github.io/picasso/\n[2]: https://github.com/bumptech/glide\n[3]: https://github.com/nostra13/Android-Universal-Image-Loader\n[4]: https://github.com/mcxiaoke/android-volley\n[5]: https://github.com/thumbor/thumbor\n[6]: http://www.imgix.com/\n[7]: https://github.com/ArthurHub/Android-Fast-Image-Loader/blob/master/license.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurhub%2Fandroid-fast-image-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farthurhub%2Fandroid-fast-image-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurhub%2Fandroid-fast-image-loader/lists"}