我是Android应用程序开发的新手 . 我试图了解什么是意图及其用途 .
我的问题是,在启动另一个活动时,为什么'this'关键字作为intent的context参数传递?
Intent foo = new Intent(this, viewContacts.class);
我理解any活动扩展了Context类,但为什么我们传递 activity context 而不是 application context ?
My Point-
当另一个活动开始时,当前活动将被销毁,但其上下文将被传递给另一个活动 . 参考this文章,它说
避免与上下文相关的内存泄漏的最明显方法是避免在其自身范围之外转义上下文 .
那么,我们是不是将当前活动的上下文传递给第一个超出范围的另一个上下文?这不是内存泄漏的例子吗?
1 回答
要么在这里工作 .
this
比getApplicationContext()
输入更少,执行速度更快 .你假设
Intent
持有Context
. 它不是 .没有 .
Intent
可以是隐式的也可以是显式的 . 显式Intent
是附加了ComponentName
的显式标识,用于标识此Intent
所针对的组件的特定应用程序(按包名称)和Java类(按完全限定类名称) . 提供Context
和Class
对象的双参数构造函数用于构建ComponentName
. 构造函数完成后,Intent
和ComponentName
都不会保持Context
.