Имеется список основанный на ImageLoader его конфиг в кастомном адаптере имеет вид
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getContext())
.memoryCacheExtraOptions(480, 800) // width, height
.threadPoolSize(5)
.threadPriority(Thread.MIN_PRIORITY + 2)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // 2 Mb
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.build();
imageLoader.init(config);
imageLoader.displayImage(models.getImg(), holder.imageView);
А вот так заполняется адаптер в основном Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
StrictMode.enableDefaults();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.answer);
ListView lv = (ListView) findViewById(R.id.list);
data = request.doInBackground();
try {
JSONArray json = new JSONArray(data);
for(int i=0; i < json.length(); i++){
modelrow = new Models(
json.getJSONObject(i).getString("id").toString(),
json.getJSONObject(i).getString("model").toString(),
"http://example.com"+json.getJSONObject(i).getString("preview").toString()
);
fetch.add(modelrow);
}
adapter = new ModelAdapter(MainActivity.this, R.id.list, fetch);
lv.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
Друзья, поясню ещё раз, проблема в том что, при открытии этого приложения, загружается список вида
При прокрутке этого списка, изображения начинают не соответствовать моделям, только спустя 1-2 секунды подгружаются нужные. Как такое можно исправить, вот пожалуйста лог рабочего состояния из LogCat
08-01 00:20:54.287: D/dalvikvm(1291): GC_FOR_ALLOC freed 316K, 15% free 4004K/4708K, paused 22ms, total 24ms
08-01 00:20:54.687: W/ImageLoader(1291): Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.
08-01 00:20:54.697: W/ImageLoader(1291): Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.
08-01 00:20:54.717: W/ImageLoader(1291): Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.
08-01 00:20:55.287: D/dalvikvm(1291): GC_FOR_ALLOC freed 298K, 16% free 3996K/4708K, paused 24ms, total 24ms
08-01 00:20:55.587: D/dalvikvm(1291): GC_FOR_ALLOC freed 307K, 19% free 3854K/4708K, paused 24ms, total 25ms
08-01 00:20:55.597: I/Choreographer(1291): Skipped 62 frames! The application may be doing too much work on its main thread.
08-01 00:20:55.817: I/Choreographer(1291): Skipped 46 frames! The application may be doing too much work on its main thread.
Каким образом можно это исправить?