AndroidImageSlider
AndroidImageSlider copied to clipboard
Very buggy - calls methods like instantiateItem for the same positions multiple times
Very buggy - calls methods like instantiateItem
for the same positions multiple times
When I add many sliders my app becomes not responsive
so if you have 10 slider it will call instantiateItem
10 times for the same image
I have added only 5 sliders:
https://github.com/daimajia/AndroidImageSlider/blob/master/library/src/main/java/com/daimajia/slider/library/Tricks/ViewPagerEx.java#L845
ItemInfo addNewItem(int position, int index) {
ItemInfo ii = new ItemInfo();
ii.position = position;
ii.object = mAdapter.instantiateItem(this, position);
Log.i(TAG, "mAdapter.instantiateItem: " + position);
ii.widthFactor = mAdapter.getPageWidth(position);
if (index < 0 || index >= mItems.size()) {
mItems.add(ii);
} else {
mItems.add(index, ii);
}
return ii;
}
08-26 17:37:32.315 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 0
08-26 17:37:32.315 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 1
08-26 17:39:14.173 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 20
08-26 17:39:14.174 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 19
08-26 17:39:14.175 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 21
08-26 17:39:14.177 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 60
08-26 17:39:14.178 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 59
08-26 17:39:14.179 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 61
08-26 17:39:14.180 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 120
08-26 17:39:14.181 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 119
08-26 17:39:14.182 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 121
08-26 17:39:14.183 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 200
08-26 17:39:14.184 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 199
08-26 17:39:14.185 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 201
08-26 17:39:14.189 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 300
08-26 17:39:14.190 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 299
08-26 17:39:14.192 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 301
08-26 17:39:14.195 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 303
08-26 17:39:14.196 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 302
08-26 17:39:14.198 21625-21625/com.android.myapp I/ViewPagerEx: mAdapter.instantiateItem: 304
Why is it being called many times?
And eventually it calls protected void bindEventAndShow(final View v, ImageView targetImageView)
many times
But it should just 5 calls..
seems something wrong with indicators, I just removed many things from your library: code with logic for indicators, some xml/attrs for indicators, description (text views), so I'm just left with ImageViews and ViewPager and now it seems works ok.
if you are using setCurrentItem() you will end up getting instantiateItem. look for settag() if you have it map certain values with images/view then retrieving them as findviewbytag