1. 关于Application
Application是虚拟机(Dalvik/Art)的一个实例。因为每个进程只有一个虚拟机,所以每个进程只有一个Application实例。单进程App只有一个Application实例,多进程App有多个Application实例。
2. 生命周期
Application生命周期与虚拟机一样长,所以单例或者静态变量的实例化一定要用Application的context,否则会造成内存泄漏。Application在低内存的时候会被回收掉,所以不要在Application内缓存数据。
3. 种类
Application & MultiDexApplication & MockApplication
MultiDexApplication 用来分dex,解决"65535"问题。
MockApplication用来TDD(测试用例驱动)开发。
4. onCreate
通常会在这个方法里面完成初始化工作,比如图片加载库、http请求库的初始化工作等,不要在这个方法里执行耗时操作。
网友评论