2011-08-13 15 views
1

個人而言,我喜歡打開一個新的活動而不是對話框,因爲我可以更輕鬆地控制設計(例如佈局,不同的窗口選項,大小)。另外我覺得處理所有組件的聽衆等都更簡單。但是運行對話而不是活動有什麼好處嗎?它是否更快,更少的內存耗盡?是否正在開展一項活動以取代對話不良練習?

+1

我不知道性能好處(如果有的話),但我可以說我使用Activity而不是對話框的主要原因之一是行爲在狀態改變時的處理方式。屏幕方向改變。即使屏幕旋轉時最基本的對話框也會引發異常。 – rf43

+1

你有沒有想過將'Activity'的'theme'設置爲'dialog'(在Android Manifest中)?這將啓動「活動」作爲對話框。 'android:theme =「@ android:style/Theme.Dialog」' – Phil

+0

我有很多對話框可以正確旋轉... – Pyrodante

回答

2

首先,您可以創建自定義對話框,然後根據需要基本查找。但是,作爲對您問題的直接回答,我能想到的唯一缺點是a)原始活動現在處於onStop狀態,這意味着它可能會被殺死,以及b)您正在使用更多資源來添加整個活動,而不是對話框。這就是說,每件事都有一個時間和地點。

+0

我從來沒有想過onStop是一個問題,但這是一個很好的觀點。一般來說,我使用一個活動來獲得更強大的對話框和基本對話框。但這聽起來並不是太大的問題。 –

相關問題