compile 'com.joooonho:selectableroundedimageview:1.0.1'
起初做项目,需要轮播图一看这种,图片,肯定想到的是以前用过的圆角图片控件,做成选项卡的样式,但是之后测试的时候发现,在该轮播图界面锁屏后,再解锁,程序内存溢出了。。。
用Glide加载图片
Glide.with(context).load(list.get(position).getImage()).placeholder(R.mipmap.no_img2).dontAnimate().error(R.mipmap.no_img2).into(img);
得加上.dontAnimate()
否则报错
看Memory,发现每次切换一张轮播图,内存就会加2M。。。。
这可是个大问题
每次滑动一次轮播图就能加2M左右,测试大概到能到170M左右的内存后就会溢出,这问题果断是换一个控件,最后找到一个,就是用Imageview,再加上一个圆角的覆盖,也能实现这种效果
。
<com.gcssloop.widget.RCRelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginBottom="20dp"
app:round_corner_bottom_left="5dp"
app:round_corner_bottom_right="5dp"
app:round_corner_top_right="5dp"
app:round_corner_top_left="5dp">
<ImageView
android:id="@+id/tra_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/no_img"
android:scaleType="centerCrop"
android:background="@color/white" />
</com.gcssloop.widget.RCRelativeLayout>
compile 'com.gcssloop.widget:rclayout:1.4.1@aar'
allprojects {
repositories {
jcenter()
maven { url "http://lib.gcssloop.com:8081/repository/gcssloop-central/" }
}
}
这样再次看memory,
每次基本上增加知识0.04M大概在占用内存到达40M左右的时候会内存回收,不会造成内存溢出
用的轮播图控件是ultraviewpager,怎么使用,见原作者的Github,有详解
https://github.com/alibaba/UltraViewPager/blob/master/README-ch.md