Глубокое изучение Android-земли показало, что из-за грубого метода Method.equals()
аннотации под Android являются очень медленными и чрезвычайно ГХ интенсивными.Мы добавили файлы конфигурации таблицы в версии 4.26, которые обошли это и сделали запуск ORMLite намного, намного быстрее.См. этот вопрос и эту ветку в списке рассылки.
Мы продолжаем улучшать скорость аннотаций.См. Также: ORMLite низкая производительность на Android?
Создание DAO - это относительно дорогой процесс.ORMLite создает представление данных как класса, так и полей в классе и создает ряд других служебных классов, которые помогают с различными функциями DAO.Вы должны убедиться, что вызываете метод createDao
один раз за вызов.Я предполагаю, что это под Android @Pzanno?
В 4.16 мы добавили DaoManager
, чья работа заключается в кэшировании классов Dao, и это было улучшено в версии 4.20.Затем вы всегда должны использовать его для создания своего Daos.Рекомендуется что-то вроде следующего кода:
private Dao<ModelStore, Integer> modelStoreDao = null;
...
public Dao<ModelStore, Integer> getDaoStore() throws SQLException {
if (modelStoreDao == null) {
modelStoreDao = DaoManager.createDao(getConnectionSource(),
ModelStore.class);
}
return modelStoreDao;
}
Надеюсь, это поможет.Аудит памяти ORMLite, вероятно, также в порядке.Прошло много времени с тех пор, как я посмотрел на его потребление.