область получает экземпляр как поток - PullRequest
0 голосов
/ 26 сентября 2019

я устал от поиска realm.getDefaultInstance или getInstance как потока

позвольте нам сказать, что у нас есть 2 класса, работающих на фоне, чтобы получить сообщение от сервера

и когда я использую область из некоторогокласс для сохранения сообщения:

Realm.init(context);
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
// save all data
realm.commitTransaction();
realm.close();

и когда я использую адаптер для загрузки элементов из области

данные загрузки приложения очень медленные, и иногда я получаю: приложение не отвечает

загрузить данные из кода области:

new Thread(() -> {
  list.clear();
  Realm.init(context);
  Realm realm = Realm.getInstance(MoonApplication.group);
  RealmResults chats = realm.where(MessageRoom.class).equalTo("from", username).and().equalTo("to", us).or().equalTo("from", us).and().equalTo("to", username).findAll();
  if(chats != null){
     for(int i=0; i<chats.size(); i++){
        long id = chats.get(i).getId();
        String from = chats.get(i).getFrom();
        String to = chats.get(i).getTo();
        String body = chats.get(i).getBody();
        String time = chats.get(i).getTime();
        // etc.....
    }
  }
  realm.close();
  ((Activity)context).runOnUiThread(this::notifyDataSetChanged);
}).start();

может кто-нибудь сказать мне, как использовать лучший способ загрузки и сохранения данных в области?

Примечание: когда я закрываю область из какого-то класса, он закрываетсяиз всех классов, и когда я не закрываюсь, я получаю уведомление по журналу, вы забыли закрыть область?

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...