안녕하세요 카카오톡, 스토리 공유를 위해서 Kakao SDK 버전은 1.1.10 로 쓰고 있습니다.
KakaoAdapter를 상속받아서 구현하였고 구현된 소스는 아래와 같습니다.
문제는 앱을 사용하다보면서 메모리릭 체크를 하면 아래 소스의 App 클래스의 mTopActivity에서 메모리릭이 발생하고 있는데요
메모리릭현상을 해결하려면 어떻게 했으면 좋을지 의견주시면 감사하겠습니다.
제가 생각한 방법으로는 BaseActivity onDestory함수에서 App.setTopActivity(null) 을 호출하는 방법으로 해보려고 하는데
문제가 없을지 궁금하고요.
카카오 SDK에서는 저는 이런 굳이 엑티비티 인스턴스를 넘겨주는 부분에 대해서 불필요해보이는데 이런 부분을 개선할 계획이 있는지도 궁금합니다.
KakaoAdapter 구현부분
@Override
public IApplicationConfig getApplicationConfig() {
return new IApplicationConfig() {
@Override
public Activity getTopActivity() {
return App.getInstance().getTopActivity();
}
@Override
public Context getApplicationContext() {
return App.getInstance();
}
};
}
App 클래스 구현 부분
public class App extends Application {
private Activity mTopActivity;
public Activity getTopActivity() {
return mTopActivity;
}
public void setTopActivity(Activity topActivity) {
mTopActivity = topActivity;
}
}
BaseActivity ( 앱의 부모 엑티비티 ) 구현 부분
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 현재 실행한 엑티비티 세팅
App.getInstance().setTopActivity(this);
}