2017-03-23 101 views
1

覆蓋應用程序vs活動中onTrimMemory的優點和缺點是什麼? Android文檔在應用程序和Activity的onTrimMemory上看起來完全一樣,看起來它們都在後臺調用。在應用程序vs活動中覆蓋onTrimMemory對比活動

如果我在Activity中實現了onTrimMemory並且該應用程序是後臺的,並且調用了onDestroy活動,那麼onTrimMemory可以在那之後調用嗎?

對於上述情況,如果我想修剪應用程序的緩存,如果onTrimMemory不能在活動上調用,我應該將onTrimMemory放在應用程序中嗎?

回答

1

你應該根據誰一直要修剪內存ApplicationActivity(或任何其他部件)覆蓋onTrimMemory(int)。負責內存的類應該進行修整。

回調機制如下:系統調用Application.onTrimMemory(int)然後調用應用程序的組件相同的回調。回調在任何地方都應該被調用(我懷疑它會在Activity.onDestroy()之後 - 你不應該在意這樣的活動)。您的覆蓋決定不應受到活動生命週期的影響。

如果內存屬於應用程序,請在此處理。如果它只屬於某個活動,請在那裏處理。