1我们知道android动画可分为,帧动画,补间动画和属性动画。在页面层级比较复杂的情况下,巧用属性动画可以减少页面的重绘。比如:有个ImageView,你需要动态控制它的显隐性,如果setVisible的话会invalidate整个页面,从而检查一遍dirty Rect刷新,这时候你完全可以translationX将它移出屏幕,需要时候再translationX(0)即可。因为translationX这类属性是不会触发invalidate的。
2相对而言,通过代码动态生成控件要比从xml读进来耗时短,因为inflate xxx.xml本质上是文件io然后xml节点解析,这会比直接new view add进来耗时间。
3textView的width尽量使用确定的值,当使用wrap_content的时候。每次设置text,它都会触发invalidate。
4合理开启硬(软)件加速和离屏缓冲会让你app性能提升不少。