相关知识点做详细的说明:
1、onDestroy方法在用户主动关闭应用时不会被调用,如果要保存一些数据,放在这里面是不可靠的。
2、属性动画是3.0之后支持的动画方式,3.0之前可以用第三方库达到属性动画同样的使用效果,但是其实质还是视图动画实现的。视图动画存在显示位置变了但是实际位置没变的问题,但是属性动画不存在该问题。
3、对于事件分发机制知识点,还需要对常用的系统控件的分发控制有很熟悉的了解,对常用的方法,如onClick、onTouch、onItemClick,它们的调用条件和顺序要熟悉,这样在使用的时候才能更加得心应手。
4、第一次启动APP由于MultiDex将会非常缓慢,某些低端机可能ANR。因此有一种做法是挂起主进程,开启:async_launch进程执行dexopt。dexopt执行完毕,主进程重新变为前台进程,继续执行初始化。主进程在这过程中变成后台进程,因此阻塞将不会引起ANR。至于怎么保证dexopt执行完毕之后再在应用中加载相关class,请Google“美团多dex拆包方案”。
5、使用动画一定要注意防止内存泄露,在视图不可见时及时cancel相关动画。
6、性能优化主要从布局优化(减少嵌套)、绘制优化(不在onDraw里面做大量任务)、内存泄露优化(防止内存泄露)、图片加载优化(缓存)、滑动优化(不在滑动中执行异步任务)和线程优化(使用线程池)着手。
写于2018-1-15