泉州cms建站系统,肥城网站建设广州外地车牌,服务类网站建设服务公司,页眉做的好的网站目录 一 概念二 使用三 注意事项 一 概念
Context#xff0c;上下文#xff0c;可以获取应用的资源和信息。Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与。它提供了关于应用环境全局信息的接口。它是一个抽象类#xff0c;它的执行被Android系统… 目录 一 概念二 使用三 注意事项 一 概念
Context上下文可以获取应用的资源和信息。Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与。它提供了关于应用环境全局信息的接口。它是一个抽象类它的执行被Android系统所提供。有两个子类其中ContextImpl是具体实现类而ContextWrapper是包装类。Application、Activity、Service直接或间接继承ContextWrapper其中Activity有主题继承的是ContextThemeWrapper。 因此一个引用Context的数量ActivityService1Application。至于其他两个组件它们的Context都是其他地方传过去的。 以前看过一篇文章里面有一句话我觉得挺好的。意思差不多是虽然Activity继承Context但是更像代理了Context而Context拥有权力Activity通过权力从而可以做很多事情。
二 使用
View.getContext 获取的是当前Activity的ContextActivity.getApplicationContextActivity.this
三 注意事项
凡是与ui相关的都应该用Activity的Context。也要注意Context的持有防止内存泄漏。
优先使用Application的Context不要让长生命周期对象持有Activity对象引用尽量不要在Activity中使用非静态内部类因为非静态内部类会隐式持有外部类实例的引用如果使用静态内部类将外部实例引用作为弱引用持有。