Witam,
mam problem z wyciekiem pamięci w aplikacji.
Apk posiada navigation drawer, który wyświetla dane fragmenty. W tych wyświetlanych fragmentach są 2 zakładki (TabLayout), które również wyświetlają fragmenty, a na nich generowane są wykresy.
Wydaje mi się, że wyciek powodują te fragmenty z tab'ami, w których zmiana fragmentów odbywa się przy użyciu adaptera:
public class PagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;
String className[];
public PagerAdapter(FragmentManager fm, int NumOfTabs, String className[]) {
super(fm);
this.mNumOfTabs = NumOfTabs;
this.className = className;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return (Fragment)createObject(className[0]);
case 1:
return (Fragment)createObject(className[1]);
default:
return null;
}
}
private Object createObject(String className) {
Object object = null;
try {
Class classDefinition = Class.forName(className);
object = classDefinition.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
} catch (IllegalAccessException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
return object;
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
W jaki sposób można zapobiec wyciekowi pamięci ?
Próbowałem różnych sposobów ze stack overflow, lecz nie przyniosły oczekiwanych rezultatów.
Z góry dzięki za pomoc.