내 액티비티에 사용 된 서브 클래스에 리소스를 전달하려고 애쓰는 중이었습니다. 나는 두 가지 방법으로 문제를 해결했지만 하나 또는 둘 다 메모리 누수를 일으킬 지 확신 할 수 없습니다. 그래서 여기 내가 지금까지 무엇을 가지고 :리소스를 처리하는 가장 좋은 방법은
-myactivity (활동 클래스)
-global
-subclass를 (패키지 글로벌 클래스, 나는 글로벌 accesible 변수를 저장하기 위해 사용하고 있습니다) (내가 원하는 서브 클래스는 드로어 블 리소스를 사용하는)
A)
public class global{
public static Resources appRes;
....
}
public class myactivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
global.resApp = this.getResources();
...
}
private void somewhere(){
subclass tmp = new subclass();
tmp.subclasmethod();
}
}
public class subclass{
public subclass(){...}
public void subclassmethod(){
Bitmap bmp = BitmapFactory.decodeResource(Global.appRes, R.drawable.myres);
...
}
}
b) 귀하의 의견에 미리
public class myactivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
private void somewhere(){
subclass tmp = new subclass(this.getContext());
tmp.subclasmethod();
}
}
public class subclass{
Context context;
public subclass(Context context){
this.context = context
...
}
public void subclassmethod(){
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.myres);
...
}
}
감사합니다.
답장을 보내 주셔서 감사합니다. 나는 당신이 말한 것을 시도한 다음 그와 같이 결정하거나 그냥 계속 진행할 것입니다. – Mauricio