要让用户体验好至少要做到以下几点:
一.不卡顿(自定义UI在invalidate绘制处理时间过长(遵循每帧16s),动画过复杂,界面布局层级过度绘制,接收数据过大,cpu处理不过来或者在主线程处理,频繁的GC导致线程停止绘制)
冷知识:1.当我们的布局是用的FrameLayout的时候,我们可以把它改成merge,可以避免自己的帧布局和系统的ContentFrameLayout帧布局重叠造成重复计算(measure和layout),
2.提高显示速度,使用ViewStub:当加载的时候才会占用。不加载的时候就是隐藏的,仅仅占用位置
3.自定义View优化。使用 canvas.clipRect()来帮助系统识别那些可见的区域,只有在这个区域内才会被绘制。也是避免过度绘制.
4.了解冷启动和热启动的区别
二.不闪退(ARN,主要类型按键或触摸事件在特定时间内无响应=主线程阻塞5s,广播阻塞10s,服务20s)
三.省电省流量
四.包体积小
五.加载数据的次数尽量少
网友评论