alibaba / UltraViewPager

UltraViewPager is an extension for ViewPager to provide multiple features in a single ViewPager.
MIT License
5k stars 680 forks source link

自动滚动运行内存持续增加 #136

Open demo-Hexj opened 5 years ago

demo-Hexj commented 5 years ago

在setMultiScreen后每次翻页viewpager内存占用都会增加,后看到库里面UltraViewPagerAdapter的destroyItem方法,发现有些问题。 我是这样理解,在调用setMultiScreen后,UltraViewPagerAdapter在instantiateItem时会给我们的item外层包装一层relativeLayout,而在destroyItem时只是将包装的relativeLayout内部的所有view给remove掉,并没有将包装的relativeLayout从viewPager中remove掉,导致viewPager中的view持续增加。 我是在使用viewPager.setPageTransformer时发现的这个问题,setPageTransformer后为viewPager的每个child都添加了动画,由于上面所说的relativeLayout都还存在于viewPager,所以这时会为多个child执行动画,导致内存占用很大。特别是设置自动滚动后持续一段时间,表现出程序越来越卡顿。 希望楼主看下这个问题。

javakam commented 4 years ago

UltraViewPagerAdapter 144行...