2010-08-14 59 views
4

如果StackOverflow上有一個部分,在那裏,我們可以張貼像我這樣的教程,這樣我可以從字面上回答數百個問題已被要求在這裏一擊這將是很好。請參閱...我每天閱讀有關如何通過活動之間的複雜對象的問題,如何保存狀態,這樣你的應用程序可以改變方向後繼續,如何更新列表視圖,當數據的變化,等等,等等是否可以使用單例對象來保存活動之間的狀態或共享數據?

這裏是我發佈在我的博客上的系列教程的第二部分...我希望你真正閱讀它......因爲我沒有看到任何地方的例子......它改變了我對開發的看法Android全線。問題是......像這樣發展是否有負面影響?

Beyond Smart Lists – How Observable Singletons change the game

請通過這兩個教程仔細閱讀......我會在這裏回答關於它的任何問題,我可以......我真的想知道你怎麼想這一點,如果它可能爲你解決問題。

注意對版主:沒有任何關於我的博客的廣告..所以不要只是關閉是因爲你覺得我莫名其妙地發送垃圾郵件...我不打算在這裏重複我的職務。而且......我真的想知道這種方法是否存在缺陷。

+1

我認爲它得到了被舉報,因爲你的主題寫着「你們有多少人?」這聽起來主觀。如果你的subect更像是「通過練習來使用單例來保存狀態或在活動之間共享數據嗎?」可能會更好地通過嗅覺測試。 – 2010-08-14 13:07:14

+0

謝謝......問題改變了。豎起大拇指! – androidworkz 2010-08-14 13:09:44

+0

你的「SmartList」有一個公共的構造函數,所以它不是一個真正的Singleton。這是一個錯誤嗎? – DJClayworth 2010-08-17 20:39:31

回答

3

你看了關於Android的Application類?

+0

是的,我其實。有一個關於如何使用它的好教程http://www.heikkitoivonen.net/blog/2010/05/13/bacon-rank-android-app-details/,但它不是真正的相同的方法...是它靈活嗎?另外,這些Observable對象的工作方式是,只要它們的屬性發生更改,它們就會將更新發布到任何消費活動中。但是,這確實會產生一個我沒有考慮過的重要問題。如果觀察者不再活躍,會發生什麼......如果Observable嘗試更新不存在的觀察者,我不確定Observable是否會拋出異常。 – androidworkz 2010-08-14 13:41:01

+0

好的......我剛剛運行了一個測試,看起來嘗試更新空觀察者不會導致任何副作用,但在onDestroy()和onPause()中調用observable.deleteObserver(this)可能有意義並且還原onResume()或onRestoreInstanceState()中的對象和Observer – androidworkz 2010-08-14 13:58:41

+0

觀察者模式的基本原理是觀察者在不再需要時觀察它所觀察到的所有內容。在垃圾收集環境中,只要Observable中有引用,觀察者仍然存在。你的觀察者在他們變得不活躍時應該從他們所有的觀察者身上移開。 – DJClayworth 2010-08-17 20:45:35

相關問題