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
Post a Comment