0
我正在開發跨越幾個類的應用程序,因此我不得不將應用程序的上下文傳遞給所有使用全局字符串或整數的類,以便從strings.xml中提取它們或dimens.xml文件,而不是硬編碼它們。直到現在,我一直需要加載資源,但我想知道在構造函數中加載所需的所有資源是否更有效,請記住它們只是字符串和整數值。更好地加載運行資源或將它們預加載到內存上?
我正在開發跨越幾個類的應用程序,因此我不得不將應用程序的上下文傳遞給所有使用全局字符串或整數的類,以便從strings.xml中提取它們或dimens.xml文件,而不是硬編碼它們。直到現在,我一直需要加載資源,但我想知道在構造函數中加載所需的所有資源是否更有效,請記住它們只是字符串和整數值。更好地加載運行資源或將它們預加載到內存上?
對於小對象(字符串,數字),您可以預加載它們,因爲它不會佔用太多內存。
對於大對象(圖像,媒體),最好根據需要加載。
我的小物件個人的偏好是延遲加載它們(負荷需要的,但加載後保存在內存中,供以後使用),是這樣的:
public class Values{
private static Object pref1;
public static Object getPreference1(){
if(pref1 == null){
pref1 = heavyLoadingOfPref1();
}
return pref1;
}
}
爲,注意到我使用它的各種小對於字符串(尤其是本地資源)來說,更加麻煩的是要像這樣加載它們,只需在開始時加載它們(如果已經定義了它們,那麼它們很可能會被使用)。