如果我有一個類OnlineDataRetrieval,我需要在我的活動使用時有時無,是明智打開該類的全局對象和重用整個活動的使用壽命該對象或者我應該在每次需要使用該類時創建一個本地對象?創建一個全局對象或多個本地對象
所以基本上我想知道哪些選項下面是從性能的角度來看最好?
選項1
public class Activity extends Activity {
OnlineDataRetrieval onlineDataRetrieval;
protected void onCreate(Bundle savedInstanceState){
onlineDataRetrieval = new OnlineDataRetrieval(this);
}
public void methodA(){
onlineDataRetrieval.callSomeMethod();
}
public void methodB(){
onlineDataRetrieval.callSomeMethod();
}
public void methodC(){
onlineDataRetrieval.callOtherMethod();
}
}
選項2
public class Activity extends Activity {
protected void onCreate(Bundle savedInstanceState){
}
public void methodA(){
OnlineDataRetrieval onlineDataRetrieval = new OnlineDataRetrieval(this);
onlineDataRetrieval.callSomeMethod();
}
public void methodB(){
OnlineDataRetrieval onlineDataRetrieval = new OnlineDataRetrieval(this);
onlineDataRetrieval.callSomeMethod();
}
public void methodC(){
OnlineDataRetrieval onlineDataRetrieval = new OnlineDataRetrieval(this);
onlineDataRetrieval.callOtherMethod();
}
}
去調用構造函數多次比正從存儲器中現有的參考... –
這是我贊成方案1的思想最有可能比較慢,但是我對於我在某處讀過的陳述有些困惑:「重要的是我們處理我們不再需要或使用的對象,並釋放內存用於其他用途。」 ...選項1中,我保持對象活動的壽命,但我可能不會使用,對長(可能不是在所有在某些情況下) – abdfahim
你問「從性能的角度來看」。管理對象生命週期是一個可維護性問題。 –