我在學習android的一些教程,但問題是他們沒有包含所有的細節。在哪些情況下使用getApplicationContext()函數
具體而言,如果某些指示燈可用於getApplicationContext()
的用例,那將會非常好。
我在學習android的一些教程,但問題是他們沒有包含所有的細節。在哪些情況下使用getApplicationContext()函數
具體而言,如果某些指示燈可用於getApplicationContext()
的用例,那將會非常好。
您可以將Context
視爲應用程序資源(即res
文件夾中的所有內容)和Android運行時的句柄。諸如Activity
,Service
,Application
之類的類繼承自Context
等等。
通常,只要需要Context
,就會通過當前的Activity
,因爲Activity從上下文繼承。
當需要Context
時,您還可以找到有關使用getApplicationContext()
而非您的活動的信息。這通常是爲了防止需要上下文的任何代碼不必要地持有對您的活動的引用,這在最壞的情況下可能會阻止它被垃圾收集(傳遞Application
在這種情況下並不是一個真正的問題,因爲它是預計會很長時間)。
但是,某些方法的參數類型爲Context
,但實際上需要Activity
。使用startActivity()
就是我相信的一個例子(糾正我,如果我錯了)。