2011-02-03 122 views
5

嘿人, 我已經快寫完我的第一個android應用了。這是一個筆記應用程序添加,編輯視圖屏幕等...Android - 哪種效率更高?

最初我通過創建新的佈局對象,如表等等,並顯示它們處理單個活動中的屏幕之間移動。 但是經過一些閱讀後,我改變了在不同屏幕上使用不同活動的屏幕間移動方法。然而,每個被稱爲intent的活動都會通過setExtra從主活動中檢索大量變量,並返回大量變量。

現在我希望我的應用程序儘可能高效,而且我個人認爲在一個活動中處理它的所有內容都較少,並且處理器密集型,儘管這具有負面意義變量始終存在(並消耗內存)取消關聯在一個單獨的活動中他們在完成時被殺死()。 但是你們對我的瞭解更多,所以你認爲最好的辦法是做什麼?

+0

對於你想做的事很奇怪,你需要在活動之間傳遞如此多的變量。他們有什麼樣的變數? 「大量」是什麼意思? – Dalmas 2011-02-03 16:09:23

+0

您是否真的測量過任何性能問題,您是否獲得了ADNR對話框?如果沒有,你可能不應該擔心表現。 – 2011-02-03 16:24:30

回答

5

如果您爲新屏幕啓動新的活動,那麼您會將該活動添加到堆棧。這樣用戶可以按回來並返回到之前的活動。只需更改佈局即可刪除此功能。我很懷疑你會遇到性能問題。

最好的做法是開始一項新的活動,最好的表現可能是使用你當前的方法。

1

您的所有活動都將駐留在同一過程中並運行。所以你沒有理由需要傳遞一堆變量。你可以(例如)把它們粘在代表你的上下文的單例中。當一個活動交給另一個活動時,它填充單身人士,下一個從那裏收集數據。

當然,如果您打算通過外部活動與您的內容進行互動,您可能不得不重新考慮這種方法,但我認爲您可以將您的觀點作爲單獨的活動來處理。即使內存稍微高一點,我認爲最好是正確地做事情,只有在明確需要時才擔心優化。