RecyclerView踩坑
position RecyclerView中position和ListView中position不一样,前者的position(数据用的)是一直不变的,要想得到当前控件所处的position,必须要通过holder.getLayoutPosition()(布局用的),拿到当前的position,进行操作数据,尤其注意notifyItemChanged(position)和notifyItemInsert(position)
踩坑之bitmap,bimap 在android中是个魔鬼,时不时的照成OOM异常,让我们内心时常跳出很多个草泥马,bitmap的问题主要有以下几个
bitmap 一次性的内存不要超过8M,android默认不会超过8M,如果一次性操过8M,就会产生令我们surprise的OOM。我遇见两种产生的情况
第一种:处理圆角图片的时候我发现图片超过了8M,Bitmap.Config的ARGB设置成为了8888,如果对透明度没要求的话,可以设置成为RGB565,还有一个经常不用的是RGB4444,最最重要的是处理圆角图片的一个很重要的问题就是内存不管怎么做,都会加大接近一倍,最好的方式是自定义一个圆角ImageView
第二种:一次性加载很多个图片,导致内存突然暴,但是一般情况下不会造成OOM异常,我们需要在合适的时候把bitmap进行释放,采用bitmap.recycler(),然后在使用bitmap=null,可以调用system.gc()机制遍历下内存释放bitmap