2012-09-06 72 views
2

可能重複:
Use of Context to start another Activity上下文傳遞意圖

我被 「startActivity(新意圖(aContext,類))」 中的一類方法,它是通過繼承開始活動活動類。

我的問題是:什麼是Intent的構造函數的應用上下文或活動上下文的第一個參數?請解釋 。使用這兩種方法都會產生什麼問題?

使用應用程序上下文和何時使用活動上下文?請用一個簡單的例子來解釋。

回答

1

是有記憶問題,請參閱開發者網站婁理解這個問題更好

如果使用活動情境是指發生了異常活動範圍的垃圾收集器將無法收集這麼該活動將泄漏內存

如果活動在完成後將被銷燬,如果您將其從活動中引用出去,GC將無法收集它,因爲應用程序上下文具有所有應用程序的範圍,並且不會被需要銷燬至應用程序退出

應用程序上下文 - T只要你的應用程序存在並且不依賴於活動的生命週期,他的上下文就會生活。如果您打算保留需要上下文的長壽命對象,請記住應用程序對象。您可以通過調用Context.getApplicationContext()或Activity.getApplication()輕鬆獲得它。 閱讀本http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html

+0

我已經看過這份文件,請提供給我另一個例子中,我們必須使用應用程序上下文並在活動情境 – user1041858

+0

http://stackoverflow.com/questions/1026973/android-whats-the-difference-between -the-various-methods-to-get-a-context –

+0

因此,我們在這裏使用應用上下文或活動上下文 – user1041858