0

アプリケーションの 1 つに roboguice を使い始めました。比較のために、RoboActivity と 3 つの RoboAsyncTask を含むスプラッシュ スクリーンから始めました。通常のアクティビティと、コンテキストとハンドラーが渡された通常のスレッドで開発したとき、スプラッシュアクティビティの実行中にGCが呼び出されることはありませんでした。しかし、RoboActivity と @Context 、POJO の 3 つの依存性注入、および 3 つの RoboAsync タスクを使用すると、GC_FOR_MALLOC が 5 回呼び出されます。

ロボギースコード

@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を使用すると不要なオブジェクトが作成されますか?

4

1 に答える 1

0

少し調査したところ、注釈はあまり使いにくいことがわかりました。そして個人的には、ロボギースは、わずかな費用で手動で実行できる多くのバックエンド コードを追加していると感じました。そのため、ビルドから roboguice を削除すると、動作が以前よりもはるかに改善されました。

于 2012-09-30T12:00:03.570 に答える