启动优化,让APP秒开
优化Application
从用户点击launcher图标到看到界面第一帧为应用启动过程,主要会经过以下这些方法:
main()->Application:attachBaseContext()->onCreate()->Activity:onCreate()->onStart()->onResume()
main->Activity创建的这个过程会经过一系列framework层的操作,对于系统自动执行的操作我们不易进行优化,但是,如果我们继承Application自定义了自己的Application,可以做如下优化:
1.尽量不将一些业务逻辑放于Application中;
2.不以静态变量的方式在Application中保存应用数据;
3.不要把文件、数据库的操作放在Application
优化启动页Activity
启动页尽量不要网络请求等耗时操作。如果使用了请求网络等操作在适当的时候应该及时取消的耗时操作。例如,某些时候,当用户点击了launcher图标,但马上又想退出点击了返回键,过了几秒钟用户在使用其他APP,突然跳转到我们的APP那就用户体验感很不好了。所以可以在返回事件中取消掉耗时操作
@Override
public voidonBackPressed() {
super.onBackPressed();
....//在这里取消的耗时操作
}
或者也可以流氓一些,直接在启动页Activity重写onKeyDown()方法,首先判断用户按下的是否是返回按键,若是的话则直接返回true,这样就屏蔽了返回按键的后续执行逻辑达到了禁止用户返回操作的目的,看代码
@OverridepublicbooleanonKeyDown(intkeyCode, KeyEvent event){if(keyCode == KeyEvent.KEYCODE_BACK) {returntrue; }returnsuper.onKeyDown(keyCode, event); }
就酱,大家有更好的优化技巧欢迎留言交流学习。