Application Service Activity 里的context 通过ContextImpl创建得到的,继承图:
应用中的context数量:activity + service + 1
正确使用Context
一般Context造成的内存泄漏,几乎都是当Context销毁的时候,却因为被引用导致销毁失败,而Application的Context对象可以理解为随着进程存在的,所以我们总结出使用Context的正确姿势: 1:当Application的Context能搞定的情况下,并且生命周期长的对象,优先使用Application的Context。 2:不要让生命周期长于Activity的对象持有到Activity的引用。 3:尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用,如果使用静态内部类,将外部实例引用作为弱引用持有。
参考:
Context创建过程解析 - 简书 (jianshu.com)
Context都没弄明白,还怎么做Android开发? - 腾讯云开发者社区-腾讯云 (tencent.com)
标签:静态,创建,Application,引用,Context,Activity,过程 From: https://www.cnblogs.com/suiyilaile/p/16903408.html