@Sudha Hey I have been through the same. I frankly don't believe in what these guys say. No offense here guys but I have experimented myself. Basically the GC is not good.
I was using xml for game menus. My game was having this problem for a long time. Finally I removed all the @drawable/<picname> from the xml layout files. I used many background images, image views for buttons with images that change on touch etc.. I loaded all of them using BitmapFactory.decodeResource and then cleaned up using bitmap.recycle() when needed, finally game never crashed anymore. It was like I was coding C++ again :) I know its tough to change everything, but it was worth it. I did the cleanup properly too by handling the activity lifecycle. and even set everything to null and called System.gc when pressing the exit button. One more thing, when I clicked quit in my app. I set the contentview to an empty layout and then nulled everything and called gc and recycles bitmaps. Finally all crashes disappeared. Otherwise every second time I start my game it would crash. Hope this helped.. On Apr 28, 6:31 pm, Jean-Baptiste Queru <j...@android.com> wrote: > Write your code such that it either cleans up those static variables > or re-uses them if they've already been initialized. > > There are going to be many combinations of the lifecycle of your > activity that will be similar to what you're seeing (e.g. your app > going in the background, the phone getting locked, the orientation > changing), and you'll need to deal with the problem at its root. > You're attacking a symptom without attacking the root cause. > > JBQ > > > > On Tue, Apr 28, 2009 at 6:24 AM, Sudha <sudhaker...@gmail.com> wrote: > > > I could leave the process to OS to kill but if I want to launch it > > again in no time i get exceptions as the memory allocated previously > > is not being erased. > > > I am handling all the activities in the wrapper correctly but the > > problem seems to be: > > > I have most of the references created and assigned to static variables > > > I mean all the instances of the objects are being referenced by static > > variables, so might be all the variables are still hiding in the > > memory even after the app has exited. > > > is there any other way to kill the process when finish() is called...? > > > On Apr 28, 6:10 pm, Jean-Baptiste Queru <j...@android.com> wrote: > >> This is not the way Android works. > > >> JBQ > > >> On Tue, Apr 28, 2009 at 5:56 AM, Sudha <sudhaker...@gmail.com> wrote: > > >> > So can you please just brief me on where to concentrate and what all > >> > should be done while closing an app so that it is entirely erased from > >> > the memory when exited...? > > >> > On Apr 28, 5:51 pm, Jean-Baptiste Queru <j...@android.com> wrote: > >> >> finish() doesn't close your application, is just closes your activity. > >> >> The Appliction object itself stays behind, as well, as the entire > >> >> process, as long as there's memory available to keep them around, so > >> >> that re-launching your app is faster then next time around. > > >> >> JBQ > > >> >> On Tue, Apr 28, 2009 at 5:40 AM, Sudha <sudhaker...@gmail.com> wrote: > > >> >> > Hi, > > >> >> > I have been developing a game on Android and wrote a wrapper for J2ME > >> >> > classes, > > >> >> > When notifyDestroyed() is called in my ME program and calling finish() > >> >> > but the application doesn't close correctly. > > >> >> > The App goes to background and when launched again it shows an error > >> >> > message and presents an option to "force close" the App, if i force > >> >> > close it and launch again, the app launches fine but again the same > >> >> > has to be repeated upon every launch.. > > >> >> > Can you please explain why the App is not being erased from memory > >> >> > when finish() is called.\ > > >> >> > when i check the log i found no exceptions when closing but when > >> >> > launched again it throws a null pointer exception. > > >> >> > for now to work around I placed "System.exit(0)" after calling finish > >> >> > () so that the app is exited abruptly, but am waiting for a valid > >> >> > answer on whats going on behind...? > > >> >> -- > >> >> Jean-Baptiste M. "JBQ" Queru > >> >> Android Engineer, Google. > > >> >> Questions sent directly to me that have no reason for being private > >> >> will likely get ignored or forwarded to a public forum with no further > >> >> warning. > > >> -- > >> Jean-Baptiste M. "JBQ" Queru > >> Android Engineer, Google. > > >> Questions sent directly to me that have no reason for being private > >> will likely get ignored or forwarded to a public forum with no further > >> warning. > > -- > Jean-Baptiste M. "JBQ" Queru > Android Engineer, Google. > > Questions sent directly to me that have no reason for being private > will likely get ignored or forwarded to a public forum with no further > warning. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---