I have an android application that access local sqlite3 db frequently, for performance consideration so i always keep the connection open. But one of my friends recommended
As an addition, opening & closing a connection so frequently might possibly cause you to experience notorious SQLite exceptions, if you access db from multiple threads.
See, if you access db from multiple threads even over a single connection and since those operation are not atomic, then you may try to update db which was closed just before by another thread.