Почему Room ORM создает слишком много экземпляров dao - PullRequest
0 голосов
/ 24 февраля 2020

Я использую Room ORM для кэширования некоторых данных в моем приложении. когда я выполняю несколько запросов, создается слишком много экземпляров DAO.

это код, который Room использует для предоставления DAO

public DatabaseDao getDatabaseDao() {
    if (_databaseDao != null) {
      return _databaseDao;
    } else {
      synchronized(this) {
        if(_databaseDao == null) {
          _databaseDao = new DatabaseDao_Impl(this);
        }
        return _databaseDao;
      }
    }
  }

Как видите, создан только один экземпляр DAO

но когда я профилирую приложение, я вижу несколько DatabaseDao_Impl .

enter image description here

Является ли это проблемой номер

...