2010-09-03 73 views
0

它惹惱我,當我需要在我的代碼,繞過所有的上下文引用。所以我想創建一個靜態方法來返回應用程序實例的引用。我不確定假設在一個應用程序中只有一個應用程序實例是安全的。顯然,Android SDK中的Application類不提供這種方法來返回實例引用。所以我懷疑肯定有一個原因?Android:創建靜態方法來返回應用程序實例是否安全?

回答

3

這也可能是安全的,假設你的Android應用生活在一個OS進程中(大多數人,但這不是在Android的保證),但我建議反對。

如果你需要訪問已經存在的地方(活動,服務,廣播接收器,應用程序,視圖等)之外的上下文/應用程序,你可能會讓與android環境有關的細節變成代碼對此應該不太瞭解。

最大的例外是靜態工具方法(例如,顯示您在應用程序中重複使用的固定對話框或類似對象),在這種情況下,傳遞上下文在android世界中是一種慣例(例如,ProgressDialog.show將Context作爲第一個參數)。

雖然你可以做到這一點,我的感覺是,它可能是一個創可貼來解決的事實,你必須在你的代碼,無需緊密耦合到Android環境的組件過多。

+0

感謝。我對Context的大多數依賴來自於訪問Preferences或從xml資源文件中讀取字符串/值。有什麼建議麼? – wei 2010-09-03 07:08:55