2012-07-29 33 views
0

我已經開始使用roboguice作爲其中一個應用程序。爲了進行比較,我開始使用RoboActivity的初始屏幕和三個RoboAsyncTasks。當我用正常的Activity和普通線程開發它時,上下文和處理程序都被傳遞給它,在整個啓動活動執行過程中,甚至不會調用GC。 但是通過RoboActivity和@Context,3次依賴注入POJO和3次RoboAsync任務,GC_FOR_MALLOC被調用5次。RoboGuice導致很多GC_FOR_MALLOC

Roboguice代碼

@ContentView(R.layout.activity_splash) 
public final class Splash extends RoboActivity { 

/** 
* Constant TAG used in debugging 
*/ 
public static final String TAG = "###Splash###"; 

/** 
* To initialize singleton instance 
*/ 
@Inject 
private PreferenceManager mPreferenceManager; 

@Inject 
private DeviceInfo mDeviceInfo; 

@Inject 
private Handler mHandler; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
... 

低於這個我在RoboAsyncTask簡單的Web API調用。

我做錯了什麼......或者是否將RoboGuice結果用於不必要的對象創建。

回答

0

一點研究表明,註釋並不是很好用。而且我個人覺得roboguice增加了很多後端代碼,我們可以通過一些代價手動完成代碼。所以從我的構建中刪除了roboguice,行爲比以前好得多。