Context概念
在加载资源、启动服务、启动一个新的Activity、获取内部文件路径、创建view操作都需要Context参与。
Activity 、Service、Application都是Context的子类。
Android系统上理解:Context是一个场景、代表与操作系统交互的一个过程。
从程序角度:Context是一个抽象类,Activity、Service、Application都是他的一个子类实现。
Activity、Service、Application都继承与ContextWrapper,而ContextWrapper内部包含一个basecontext,而这个base context去实现了大多方法。
Activity 和Application做为Context的区别
Activity.this 返回的是当前Activity实例、getApplicationContext 返回的时当前项目的Application实例。
引用的保持
在编写工具类的时候可能会写成单列模式,可能涉及到Context的引用。
例如:
package com.mooc.shader.roundimageview;
import android.content.Context;
public class CustomManager
{
private static CustomManager sInstance;
private Context mContext;