2017-07-28 94 views
0

我在的getContext那么感兴趣()方法,它是如何工作的,例如,我写循环视图安卓getContext方法

@Override 
public RecycleView.ViewHolder onCreateViewHolder(ViewGroup parent ,int viewtype) 
{ 
View view =LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item,parent,false);} 

,我把它在我的片段类和我的片段类定义为mainActivity 我的问题在这里如何获取上下文方法返回MainActivity?上下文如何理解? 我看那个方法引入了Android工作室,但我不明白,以及

回答

0

为最终参考:Context | Android Developers

长话短说,在View类,因此,所有它的子类(如ViewGroup )有一个名为getContext()的已定义函数,它返回一个Context对象。这个类是抽象的,实现是由Android系统提供的,这就是为什么实际功能不易理解。它允许您访问有关应用程序环境的全局信息,例如主题,资源等。这非常神奇,但如果您不小心,那么这个神奇的方面可能会很昂贵。泄漏一个Context对象非常容易,它可能会很快耗尽设备上的RAM。

+0

哇,真棒解释你说的最后一句话,它可以快速吃掉设备上的RAM。这是不好的(我的意思是使用上下文)你建议什么?而不是 – john12

+0

使用上下文是好的(和必要的),但它很容易使用不正确。例如,使用'Context.getApplicationContext()'通常比使用'getContext()'更安全。如果可能,尽量避免将'Context'传递给另一个类,除非必须,否则这是泄漏'Context'对象的简单方法。更多阅读材料:https://android-developers.googleblog.com/2009/01/avoiding-memory-leaks.html – privatestaticint