{"id":22846618,"url":"https://github.com/vicfran/android-image-download","last_synced_at":"2025-04-28T17:40:31.441Z","repository":{"id":4887434,"uuid":"6042837","full_name":"vicfran/android-image-download","owner":"vicfran","description":"Multithreaded asynchronous image download with memory caching","archived":false,"fork":false,"pushed_at":"2012-10-03T06:37:15.000Z","size":103,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T11:41:34.653Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jashkenas/underscore","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vicfran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-02T09:44:35.000Z","updated_at":"2017-07-11T18:00:48.000Z","dependencies_parsed_at":"2022-09-15T21:23:22.567Z","dependency_job_id":null,"html_url":"https://github.com/vicfran/android-image-download","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicfran%2Fandroid-image-download","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicfran%2Fandroid-image-download/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicfran%2Fandroid-image-download/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicfran%2Fandroid-image-download/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vicfran","download_url":"https://codeload.github.com/vicfran/android-image-download/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251357412,"owners_count":21576702,"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-12-13T03:29:57.367Z","updated_at":"2025-04-28T17:40:31.422Z","avatar_url":"https://github.com/vicfran.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"android-images\n==============\nMultithreaded asynchronous image download with memory caching\n\nFILES:\n\n - ImageDownloadManager\n\n    Main file of the project. Creates a pool of threads to download images and manages the downloads. Uses an image cache with fixed size, based\n on the memory available assigned to the app (heap). Images are created based on heap size, this is for memory management and performance, to avoid\n OutOfMemoryException when images were too big or memory available too short.\n\n    Implements Singleton pattern, only one instance of this class must be created, to use this object always call getSharedImageManager() method.\n\n    Number of threads in the pool can be configured simply changing NUM_RUNNING_THREADS constant value.\n\n - ImageCache\n\n    Util class. Implements image caching with LRU (Least Recent Used) algorithm.\n\n - PhoneManager\n\n    Util class. Obtains device info, like memory assigned to the app (heap), screen dimensions and density, etc.\n\n - DownloadCallback\n\n    Util class. Callback to call when operations finished. For asynchronous operations.\n\nUSE:\n\n   To use this libray, simply import the files in your project, where you want to download an image, call loadImage(...) method, passing the Uri of the\n image you wish to download, the ImageView to put the image donwloaded in, and the callback to call when the download finished.\n\n Example:\n\n      ...\n      private ImageDownloadManager imageDownloadManager = ImageDownloadManager.getSharedImageDownloadManager();\n\n      if (imageDownloadManager != null) {\n        imageDownloadManager.loadImage(Uri.parse(\"http://ExampleImageUri\"), myLayoutImageView, new Callback() {\n          @Override\n          public void done(final boolean error) {\n            if (!error) {\n              Toast.make(context, \"Download OK\", Toast.LENGTH_SHORT).show();\n            } else {\n              Toast.make(context, \"Download ERROR\", Toast.LENGTH_SHORT).show();\n            }\n          }\n        });\n      }\n      ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicfran%2Fandroid-image-download","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvicfran%2Fandroid-image-download","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicfran%2Fandroid-image-download/lists"}