2012-08-11 46 views
0

可能重複活動之間傳遞參數更好:
Passing data between activities in Android哪條路是對的Android

確定可以說,在我的Activity1.java有一個叫做可變date

如果我聲明它是靜態的,在我的Activity2中,我可以通過編寫Activity1.date來記住它的值。

如果它不是靜態的,我可以在啓動activity2時通過Bundle傳遞日期的值。

兩種方式都在工作。

我的問題是哪個是最優先的,缺點較少?

回答

1

靜態不好有很多原因,主要是因爲它是嗯......靜態的。這意味着它會一直記憶,並且您的領域只有一個實例可以在您的活動的所有實例中共享。

正因爲如此,它可以讓你在許多地方以這麼多微妙的方式咬你。例如 - 如果您爲同一活動編寫多個單元測試,則該值將被共享,因此您的測試不會是獨立的。或者另一個用例:你在堆棧中有幾個活動實例 - 它們都會共享這個值,在很多情況下它們不是你想要的。

底線:不要做靜電。靜態可以爲您節省一兩行代碼,但可能會帶來很多麻煩。順便說一下,它不是特定於Android,這是真的任何平臺

+0

這就是所謂的靜態領域的優勢,它是靜態的:P – AAnkit 2012-08-11 15:36:02

1

當然在捆綁中傳遞的耦合要少得多。

使用靜態Activity2不能沒有Activity1存在。活動意味着高度可重用,但通過靜態,你高度結合了活動。