假設我有以下的Java代碼:性能差
class MyClass{
final Runnable runnable = new Runnable(){
@Override
public void run(){
//Do stuff here...
}
}
void method1(){
new Handler().post(runnable);
}
void method2(){
new Handler().post(new Runnable(){
@Override
public void run(){
//Do same stuff here...
}
});
}
}
方法1()使用被定義爲一類的最終可運行變量一次,因爲對象被創建。 method2()每次調用時都會定義並使用相同的可運行對象。
假設可運行裏面的代碼是很多,並且這些方法被調用非常頻繁的移動設備,其中絲毫的性能提升讚賞:
是否有方法1和方法2之間有什麼區別,只要性能如何?我正在編寫一個android應用程序,並且我有很多定義和使用可運行和偵聽器的方法。我試圖儘可能減少性能開銷,所以我想知道這是否有什麼區別?如果可能我應該將偵聽器和可運行參數定義爲final變量(也許是靜態的)類變量,然後使用它們(但只能使用一次)?我的意思是,除了代碼的可讀性,維護等外,我在這裏很好地考慮了性能。
如果他們經常被調用,也許你不應該每次都創建一個Handler實例 – lelloman