关于Context的使用场景总结

Posted 客舍青

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Context的使用场景总结相关的知识,希望对你有一定的参考价值。

  • 某些地方使用了四大组件的context,在离开这些组件后仍然持有其context导致的内存泄露,这种问题属于共识,在编写代码的过程中就应该按照规则来,使用Application的Context就可以解决这类内存泄露的问题了,至于什么情况下应该使用四大组件的Context,什么时候应该使用Application的context可以参见下表:

技术分享

                            application使用场景

  备注:大家注意看到有一些NO上添加了一些数字,其实这些从能力上来说是YES,但是为什么说是NO呢?下面一个一个解释:

 

1、数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task,一般情况不推荐;

2、数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用;

3、数字3:在Receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视);

4、ContentProvider、BroadcastReceiver之所以在上述表格中,是因为在其内部方法中都有一个context用于使用。

以上是关于关于Context的使用场景总结的主要内容,如果未能解决你的问题,请参考以下文章

dubbo总结:dubbo的使用场景

最全Redis数据类型使用场景总结

RunLoop总结:RunLoop的应用场景

EF框架学习---EF中的在线场景保存数据

React什么是组件跨层级通信,有哪些使用场景实例?

RunLoop总结:RunLoop基础知识