android - Want to know database behavior when Maximum cache size is exceeded -


after extensive use of email database (there more 1000 mails), email app crashed. if come app again mails started deleting automatically.

the error logs obtained below:

e/androidruntime(  417): java.lang.outofmemoryerror e/androidruntime(  417):    @ java.lang.string.<init>(string.java:468) e/androidruntime(  417):    @ java.lang.abstractstringbuilder.tostring(abstractstringbuilder.java:659) e/androidruntime(  417):    @ java.lang.stringbuilder.tostring(stringbuilder.java:664) e/androidruntime(  417):    @ com.android.email.mail.transport.discourselogger.addreceivinglinetobuffer(discourselogger.java:57) e/androidruntime(  417):    @ com.android.email.mail.transport.discourselogger.addreceivedbyte(discourselogger.java:70) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.readbyte(imapresponseparser.java:71) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.expect(imapresponseparser.java:332) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.parsetoken(imapresponseparser.java:199) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.readtoken(imapresponseparser.java:165) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.readtokens(imapresponseparser.java:141) e/androidruntime(  417):    @ com.android.email.mail.store.imapresponseparser.readresponse(imapresponseparser.java:92) e/androidruntime(  417):    @ com.android.email.mail.store.imapstore$imapconnection.readresponse(imapstore.java:1491) e/androidruntime(  417):    @ com.android.email.mail.store.imapstore$imapfolder.fetchinternal(imapstore.java:887) e/androidruntime(  417):    @ com.android.email.mail.store.imapstore$imapfolder.fetch(imapstore.java:810) e/androidruntime(  417):    @ com.android.email.messagingcontroller.synchronizemailboxgeneric(messagingcontroller.java:898) e/androidruntime(  417):    @ com.android.email.messagingcontroller.synchronizemailboxsynchronous(messagingcontroller.java:396) e/androidruntime(  417):    @ com.android.email.messagingcontroller.access$2(messagingcontroller.java:384) e/androidruntime(  417):    @ com.android.email.messagingcontroller$2.run(messagingcontroller.java:372) e/androidruntime(  417):    @ com.android.email.messagingcontroller.run(messagingcontroller.java:171) e/androidruntime(  417):    @ java.lang.thread.run(thread.java:1096) 

w/database( 497): reached max size compiled-sql statement cache database /data/data/com.android.email/databases/emailprovider.db; i.e., no space sql statement in cache: select _id attachment messagekey=996. please change sql statements use '?' bindargs, instead of using actual values

i want know behavior above error.

i mean android if maximum cache size exceeded? if tell implementation done, helpful.

this issue. message says all: "reached max size compiled-sql statement cache database"

basically emaill application using hardcoded values in queries. instead should use prepared statements in order cache prepared statements.

hope helps.


Comments

Popular posts from this blog

ruby - When to use an ORM (Sequel, Datamapper, AR, etc.) vs. pure SQL for querying -

php - PHPDoc: @return void necessary? -

c++ - Convert big endian to little endian when reading from a binary file -