質問

私のアプリアイブでは、それは役割がマネージャクラスであることですよ非活動オブジェクトを得ました。 私はその活動にいくつかの操作を行うためにそのマネージャクラスにパラメータとしてメソッドに「ソース・アクティビティ」を渡す必要があります。

何回も

たとえば我々はいくつかのトーストを行う奨めMyActivityを持っていると仮定しましょう。 私はMyManagerと呼ばれるこのマネージャークラスを持っている、と私はそれでこのメソッドを持っている。

raiseToast(Activity sourceActivity) {

  Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}

、我々はその方法をこのように呼び出すMyactivityクラスから:

MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);

それが正常に動作します。

私はここで聞いてるのよ、これは非活動オブジェクトにパラメータとして活動を渡すための適切な方法は何ですか? 私は、実際のデバイス(ないエミュレータ)上のメモリリークを抱えている、私はこれはまた、そのためにどのような理由が原因でしたかしら?

おかげIDANます。

役に立ちましたか?

解決

あなたは活性にgetApplicationContext()でアプリケーション・コンテキストを渡すしようとするかもしれません。 なぜあなたはこのMyManagerオブジェクトを持っていますか?あなただけの別のクラスでそれをせずに活動からトーストを上げることができます。あなたの方法raiseToastは()活性本体に移動し、それを呼び出します。

編集:読みくださいます。http://アンドロイド、開発者.blogspot.com / 2009/01 /回避-メモリ-leaks.htmlする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top