java – 如何存储Context?

如何在
Android应用程序中存储Context?

通常需要在常规类中使用它,在Activity之外(例如数据库适配器).

我尝试在静态字段中保存Context,但它可以调用内存泄漏.

也许,如果我在传统类中扩展Context并调用getApplicationContext()里面会更好吗?

最佳答案 这样做的好方法是在构造函数中传递Context.您可以在每个示例代码中看到Context被传递到自定义类作为未来使用的参数.

即在fedorvlasov’s LazyListAdapter(这是从web上延迟加载图像的非常好的做法),你可以看到构造函数看起来像这样:public LazyAdapter(Activity a,String [] data).

这样,每次你在Activity之外并且需要使用它时,你已经将它存储为一个字段.

另一种方法(不推荐)是使用作为应用程序Context的静态字段.

public static final Context = getApplicationContext();

你把它放在启动活动中,并且你拥有它,在整个应用程序的生命周期内访问应用程序.

点赞