Исходя из моего прошлого опыта работы с Java, я бы сказал, что лучше закрыть соединение, вероятно, это не имеет значения в небольшом приложении для Android, но если у вас есть 10 запущенных приложений и все они обращаются к базе данных, у вас есть10 ожидающих соединений.Запустите еще немного, и рано или поздно другому приложению придется ждать, потому что сервер SQL не может обрабатывать больше запросов.
Я думаю, вы могли бы думать об этом как о файле на вашем компьютере.Вы читаете данные из него, а затем закрываете его, когда закончите.Зачем держать файл открытым в вашем приложении?
Теперь я очень плохо знаком с программированием на Android, поэтому у меня нет времени для реализации вызовов базы данных.Но когда я столкнулся с той же проблемой в приложении Java несколько лет назад, я реализовал объект базы данных, в котором у меня было соединение с базой данных.«Все остальные» (классы) должны были вызывать объект базы данных (синглтон или финальные методы) для получения данных, вроде хранимых процедур, но вместо этого в приложении.
Из-за этого я знал, когда вызовы гдесделал и когда они остановились.Затем я установил тайм-аут, чтобы через несколько минут ничего не произошло, я бы закрыл соединение с БД.(Это также позаботилось о некоторых исключениях тайм-аута, потому что тайм-аут соединения никогда не произойдет.) Когда будет введен новый вызов, я мог легко установить новое соединение и использовать новое соединение дб.В вызовах SQL используются методы типа public Fungus[] getAllFungus()
и public Fungus[] getFilteredFungus(string where)
.