я устал от поиска 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();
может кто-нибудь сказать мне, как использовать лучший способ загрузки и сохранения данных в области?
Примечание: когда я закрываю область из какого-то класса, он закрываетсяиз всех классов, и когда я не закрываюсь, я получаю уведомление по журналу, вы забыли закрыть область?
Спасибо за помощь!