Application context和Activity context的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Application context和Activity context的区别相关的知识,希望对你有一定的参考价值。
参考技术A 含义:1、Application context的意思
ApplicationContext的中文意思是"应用前后关系",它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持、资源访问(如URL和文件)、事件传播等方面进行了良好的支持,被推荐为Java EE应用之首选,可应用在Java APP与Java Web中。
2、Activity context:
Context提供了关于应用环境全局信息的接口。它是一个抽象类,它的执行被android系统所提供。它允许获取以应用为特征的资源和类型。同时启动应用级的操作,如启动Activity,broadcasting和接收intents
区别:
1、第一种中context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随application的一生,与activity的生命周期无关
2、第二种中的context跟Activity的生命周期是相关的,但是对一个Application来说,Activity可以销毁几次,那么属于Activity的context就会销毁多次.至于用哪种context,得看应用场景
在使用context的时候,防止内存泄露,注意一下几个方面:
1. 保证引用activity的对象要与activity本身生命周期是一样的
2. 对于生命周期长的对象,可以使用application context
3. 避免非静态的内部类,尽量使用静态类,避免生命周期问题
cshtml 中的 AppState = Context.Application 和 控制器中的 Application 也相等
AppState = Context.Application
@{ ViewBag.Title = "Home Page"; AppState["s1"] = "状态一"; } <div class="jumbotron"> <p>AppState: @AppState["s1"]</p> <p>Context.Application: @Context.Application["s1"]</p> </div>
以上是关于Application context和Activity context的区别的主要内容,如果未能解决你的问题,请参考以下文章
Application中的 Context 和 Activity 中的Context区别
Application context和Activity context的区别