android - How to implement universal-image-loader in separate thread? -
in project universal image loader used displaying gridview,viewpager.while need integrate offline mode app, need download , store images on disc in separate thread , when displaying gridview ,viewpager images should load disc. how implement universal-image-loader in separate thread? have tried after time activity exits it's thread , loading universal imageloader exceeds app cache,i mean somethings goes wrong. have seen different discussions need download via uil in separate thread.
@override public void run() { int x = 0; while (x < 1) { try { thread.sleep(1500); } catch (interruptedexception e) { e.printstacktrace(); } processbitmaps(); } } public void processbitmaps() { fulls = application.getonthisdevicefulls(); if (fulls != null && fulls.size() > 0) { (int index = 0; index < fulls.size(); index++) { full full= fulls.get(index).getfull(); arraylist<page> pages =fulls.get(index).getpages(); (int j = 0; j < pages.size(); j++) { string pagepattern = ... try { thread.sleep(1500); } catch (interruptedexception e) { e.printstacktrace(); } loaduilimage(); if (j == pages.size() - 1) { application.removefullondevice(index); } if (resetindex) { break; } } if (resetmagazineindex) { magazineindex = 0; log.i("magazinethread ", resetindex + ""); resetindex = false; break; } } } }
the simple example in documentation works thread based:
// load image, decode bitmap , return bitmap callback imageloader.loadimage(imageuri, new simpleimageloadinglistener() { @override public void onloadingcomplete(string imageuri, view view, bitmap loadedimage) { // whatever want bitmap } });
use imageloaderconfiguration
in order define particular threading parameters:
imageloaderconfiguration config = new imageloaderconfiguration.builder(context) .threadpoolsize(3) .threadpriority(thread.norm_priority - 2) ...
from javadoc:
public void loadimage(string uri, imageloadinglistener listener)
adds load image task execution pool. image returned imageloadinglistener.onloadingcomplete(string, android.view.view, android.graphics.bitmap) callback}. note: init(imageloaderconfiguration) method must called before method call
Comments
Post a Comment