在Intent中传递上下文

时间:2012-09-06 10:38:04

标签: android

  

可能重复:
  Use of Context to start another Activity

我通过Activity类继承的类中的“startActivity(new Intent(aContext,class))”方法启动活动。

我的问题是:Intent的构造函数的第一个参数是Application Context还是Activity Context?请解释 。使用其中任何一个是什么内存问题?

何时使用应用程序上下文和活动上下文?请用一个简单的例子来解释。

1 个答案:

答案 0 :(得分:1)

是的,有内存问题请参考下面的开发者网站来更好地了解问题

如果您使用活动上下文来引用活动范围之外的东西,垃圾收集器将无法收集它,因此活动将泄漏内存

因为活动将在完成之后被销毁,如果你将其引用出活动GC将无法收集它,因为应用程序上下文具有所有应用程序的范围,并且不需要销毁直到app退出

应用程序上下文 - 只要您的应用程序处于活动状态且不依赖于活动生命周期,此上下文就会存在。如果您计划保留需要上下文的长期对象,请记住应用程序对象。您可以通过调用Context.getApplicationContext()或Activity.getApplication()轻松获取它。 阅读此http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html