Ich bin neu in einem Android-Projekt und leider ist das alte Team verlassen und ich bin ahnungslos.Schließen Realm über verschiedene Dateien
das Projekt ist wie folgt strukturiert
Aktivitäten, Fragmente, Reich (die CRUD Dateien enthält & DAO-Dateien als auch)
mainActivity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_drawer_activity);
ButterKnife.bind(this);
EventBus.getDefault().register(this);
setSupportActionBar(toolbar);
String ChannelId = UAirship.shared().getPushManager().getChannelId();
Realm.init(this);
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder().schemaVersion(2).deleteRealmIfMigrationNeeded().build();
Realm.setDefaultConfiguration(realmConfiguration); // Make this Realm the default
realm = Realm.getInstance(realmConfiguration);
showInitalFragment();
setUserInfoInNaviagtionDrawer();
setupUI();
}
// some logic
@Override
protected void onDestroy() {
EventBus.getDefault().unregister(this);
realm.close();
super.onDestroy();
}
nun in CRUD Dateien und DOA dieser Was passiert:
CRUDfile1.java: http://ideone.com/fs0RYo
DAOfile1.java: http://ideone.com/1klhW8
jetzt das Problem ist, dass es ein lof ot Reich Instanzen erstellt und bleiben viel Speicher genommen und verursacht manchmal die App zum Absturz zu bringen, und ich bin nicht in der Lage zu schließen sie geöffnet (Die App stürzt daher die Kommentare ab). irgendwelche Ideen wie soll ich das beheben?
okay, können Sie mir ein Beispiel für den Code geben, den ich gepostet habe? – xxqxpxx
Oh wow, deine Kollegen zeichnen die "RealmResults" (eine Liste) in eine 'ArrayList', aber sie behalten sie als verwaltete Objekte. Und die 'get'-Methoden geben keine Liste zurück, sie nehmen eine Eingabeliste, die so modifiziert wurde, dass sie die neue Liste enthält ... wow, das ist super-schlecht schlecht. Dies ist die schlimmste von zwei Welten. – EpicPandaForce
ich kenne seine beschissene Arbeit. Entschuldigung, du musst folgendes sehen:/ – xxqxpxx