2012-08-06 55 views

回答

3

您可以將Context視爲應用程序資源(即res文件夾中的所有內容)和Android運行時的句柄。諸如ActivityServiceApplication之類的類繼承自Context等等。

通常,只要需要Context,就會通過當前的Activity,因爲Activity從上下文繼承。

當需要Context時,您還可以找到有關使用getApplicationContext()而非您的活動的信息。這通常是爲了防止需要上下文的任何代碼不必要地持有對您的活動的引用,這在最壞的情況下可能會阻止它被垃圾收集(傳遞Application在這種情況下並不是一個真正的問題,因爲它是預計會很長時間)。

但是,某些方法的參數類型爲Context,但實際上需要Activity。使用startActivity()就是我相信的一個例子(糾正我,如果我錯了)。

相關問題