簡體   English   中英

何時在Android應用程序中具有多個“活動”的示例

[英]An example of when to have multiple “activities” in an Android application

我似乎在這里缺少明顯的東西,為什么我要在Android中為每個應用程序進行多個活動? 有人有可靠的例子嗎?

假設您正在創建一個游戲。 您至少需要進行兩項活動-歡迎屏幕和實際游戲屏幕。 此示例中的第三個活動可能是游戲的設置頁面。

另一個例子。

假設您正在開發應用程序,則需要彈出一個對話框,即要求用戶設置用戶名和密碼(標准登錄屏幕)。 您可能選擇創建和活動並向其應用對話框主題。

將其視為桌面應用程序的形式。 您不是將所有內容都放在一種表格上嗎? :)

Sorantis的答案是正確的。 這里還有其他想法:

大多數Web應用程序,甚至AJAX-y應用程序,都不會嘗試將所有內容都放在一個頁面中。 有的確實如此,而那些糖蜜的加載速度往往很慢(Evernote,我在看着你),代碼看起來像堆意大利面條,等等。Android也不例外。

另外,超級復雜Activity狀態管理會很麻煩,因為您onSaveInstanceState()onSaveInstanceState() ,因此會導致屏幕旋轉和支持被踢出RAM的問題。 Android中的內存管理假設許多廉價活動,而不是大量活動。 智能地處理“后退”按鈕需要您自己的邏輯邏輯。 如果您需要多個入口點(例如,啟動器圖標和MIME類型處理程序,以及其他一些應用可以使用startActivityForResult()和搜索結果處理程序調用的內容),那么在一個活動中進行此操作將是一場噩夢。 等等。

使程序中包含多個活動的一項非常基本的事情是使用后退按鈕。 用戶單擊搜索后,我在應用程序中有了一個表單,他會看到另一個活動,該活動顯示了搜索結果。 如果他想更改搜索參數,他可以按回去,而無需我做任何特別的事情,他可以返回搜索表單。 通過一項活動來執行此操作將為您帶來很多工作。

接下來是內存管理。 更改活動后,Android將自動觸發垃圾收集,這意味着我的整個搜索表單都離開了內存,並且不會占用用戶任何資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM