Я использую Realm в приложении я в настоящее время развивается, и обнаружил, что печатала этот вид рисунка снова и снова:Можно ли вызвать Realm.getDefaultInstance(). ExecuteTransaction ([transaction]) как «однострочный»?
try (Realm realm = Realm.getDefaultInstance()) {
realm.executeTransaction(tRealm -> {
// Execute some transaction in here
});
}
Хотя это не совсем некрасиво, и мне нравится тот факт, что попробовать-с-ресурсов закрывает realm
для меня, я обнаружил, что интересно, если это будет достаточно, чтобы упростить что-то вроде этого:
Realm.getDefaultInstance().executeTransaction(tRealm -> {
// Execute some transaction in here
}
Я предпочел бы это так, потому что это один меньше уровня вложенности, и потому что я не получаю экземпляр Realm только для вызова executeTransaction()
, который затем дает мне различные экземпляр царства для использования.
Но я не переключился на второй фрагмент, потому что я обеспокоен тем, что его часть вызовет проблемы (поскольку я не звоню close()
). Правильно ли я в своих мыслях, и поэтому должен продолжать использовать первый фрагмент, или я буду в порядке использовать второй?
Ahh see, я решил, что подсчет ссылок будет проблемой, но я даже не думал о других вещах, которые вы указали. Я обязательно буду придерживаться первого шаблона, спасибо за быстрый и подробный ответ! –