我使用Qt構建了一個應用程序。它包括一些屏幕,其中一些是動態分配的。 我正在考慮是否要在onBackButton()上動態分配對象delete
,或者只在製造商的析構函數中動態分配對象。在後退按鈕或關閉應用程序時調用析構函數?
事情是這樣的:
如果他們onBackButton(正在刪除),這將節省內存,因爲只要沒有顯示屏幕,內存不會被使用。但是,這意味着如果我們在這些屏幕之一中關閉應用程序,內存將不會被釋放。另一方面,如果我們在製造商的析構函數上刪除它們,當應用程序存在時,內存將被重新分配。但即使我們不在該屏幕中,仍然會使用內存(如果我們進入了這樣一個屏幕,然後再按下,內存仍將被使用)。
當然,我們不能在delete
兩個位置。這會拋出異常。
我去了第一個選項,因爲「關閉(存在)」應用程序的唯一方法是通過物理按下設備上的電源按鈕 - 這將關閉設備。 所以沒有傷害 - 下次我們打開設備一切都會好的。
我的方法是否正確或有什麼更好的辦法?
我想他是在談論在哪裏調用delete或deleteLater()函數。所以他如何刪除對象並沒有什麼區別。由於下一次最有可能發生在當前事件循環之後。 –