簡體   English   中英

防止類卸載,Java

[英]Prevent class from unload, java

在我的Android應用程序中,我有一個靜態類來在整個應用程序內共享一些變量和函數。

此類中的某些變量是在其他活動中啟動的(例如,一旦用戶從網格視圖中選擇某項,然后將其選擇存儲在此靜態類中,以供以后在其他活動中使用)

一切都很好,但是看起來在應用程序不活動一段時間后(一旦它停留在后台),這個靜態類被銷毀,然后用默認值(例如“錯誤”)重新初始化。

或者,可能是整個應用程序都已卸載,在我對其進行調用后,它恢復了試圖訪問某些變量但又重新初始化的最后一個活動。

是否有任何方法可以防止類重新初始化或保留靜態值,或以其他方式保留這些值並在重新創建活動后將其還原?

非常感謝!

與其尋找停止類的重新初始化或將變量存儲在靜態類中的方法(或更確切地說,是駭客),我不建議您將應用程序的狀態存儲在本地存儲(如“共享首選項”或SQLite DB)中。

這樣做的好處是您可以在應用程序的任何部分訪問此變量,其次,您將擺脫那些靜態類和變量,它們是內存泄漏和ANR的主要原因。

我認為sharedPreference是您的理想選擇。 它有助於將數據存儲在本地。

暫無
暫無

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

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