2017-07-28 86 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