最近一直在做平板类应用的开发,关于自动售货机的系统,我也是第一次接触硬件以及Android盒子的开发,从刚开始的陌生到现在的熟悉,感觉还是收获挺多的,最近项目快要上线了,界面真的很简单,展示商品用的只是RecyclerView,也没有嵌套,但是就是滑动卡顿不流畅,后来发现了几个不常用的方法,跟大家分享下~~
上面是Glide的优化,说是优化其实只是使用方式,这个都检查之后,效果还是有的,但是收效甚微,于是就去另寻方法,终于找到了最终的破解之法:
如果所有的 Item 的高度固定大小,使用上述代码这样可以减少测量次数,尤其是对于 GridLayoutManager。
recyclerview.setItemViewCacheSize(10); recyclerview.setDrawingCacheEnabled(true); recyclerview.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);然后RecyclerView可以设置自己所需要的ViewHolder数量,并且设置draw缓存。 通过上边的两步已经大大改善了滑动的情况,但是我的数据需要根据分类进行notifyDataSetChanged(),然后把这个也优化了一下:
mAdapter.setHasStableIds(true)使用上述代码的话,Adapter中的getItemId要重写成如下,否则数据刷新会出错。
@Override public long getItemId(int position) { return position; }在平时手机开发中,基本没有进行过这么深度的优化,但是我的android盒子运存只有1G,在绘制的时候肯定比手机差的太多,这里写出来给大家分享下,有问题的同学可以私信我或者QQ都可以~~
一个android小菜鸟,写了一篇小总结,祝大家工作顺利~~~