性能优化与内存优化
性能优化
- 内存溢出
- 内存抖动
- 内存泄露
- UI卡顿优化
内存优化
-
冷启动优化
冷启动就是在启动应用前,系统中没有该应用的任何进程信息。
热启动就是用户使用返回键退出应用,然后马上又重新启动应用。
Application只初始化一次,冷启动会先创建Application,然后初始化MainActivity,热启动会直接初始化MainActivity。
冷启动流程:
Zygote进程中fork创建一个新的进程。
创建和初始化Application类,创建MainActivity类
inflate布局,当onCreate/onStart/onResume方法都走完。
调用setContetView方法后,将view添加到DecorView中,调用view的measuer/layotu/draw显示到界面上。
减少冷启动的时间进行优化:
减少onCreate方法的工作量
第三方sdk的使用最好使用懒加载方式,当前有些困难
不用让Application参与业务的操作。
不用再Application进行耗时操作。
不要以静态变量的方式在Application中保存数据。
减少布局的深度