正常に非活動オブジェクトに、アクティビティを渡します
-
20-09-2019 - |
質問
私のアプリアイブでは、それは役割がマネージャクラスであることですよ非活動オブジェクトを得ました。 私はその活動にいくつかの操作を行うためにそのマネージャクラスにパラメータとしてメソッドに「ソース・アクティビティ」を渡す必要があります。
何回もたとえば我々はいくつかのトーストを行う奨め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する
所属していません StackOverflow