Previous Article Next Article Google I/O 2011: Memory management for Android Apps
Posted in Android

Google I/O 2011: Memory management for Android Apps


  1. I'm looking at the code of a former developer who has left the company and he commonly practices the use of two system.gc(), back to back. What's up with that?

  2. When I run my app I get this "E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!" but my app doesn't crashes, I have days analyzing the my app with Eclipse MAT, looking for holding references and bundle extras but I can't find what is the cause of the error, thee heap starts at 14253K and airses to 20000k but then stop there and the error appears, could someone help me with this please? more detailed information of the problem is here

  3. I am a beginner and I don't properly understand how to manage memory. This video was very helpful but I want to study it properly from the start. Can anyone please share some good links or resources? 

  4. It is fairly simple assuming you know a small bit about either command line and/or environment variables.

    In the Android SDK that you download, there is a program called hprof-conv.exe, either directly go to this directory through command prompt, and execute the command which he shows in the video, or add the directory path of the file to your system Environment variables so it can be executed anywhere within command prompt directories.

  5. Fuck java's garbage collection. They actually made memory management MORE difficult than in C/C++. Can I please just force-free shit I know I am done with, and all references become invalid?

  6. The guy says the hprof conversion process is "easy" yet doesnt give a thorough explanation as to how to it, Ive been trying to convert it for over a day with no luck

  7. Great talk and pretty helpful. Doesn't the voice of the guy who asked the questions around 51mins in really remind anyone else of Agent Smith from The Matrix?

  8. I keep coming back to this video; it's pretty much a defining presentation on the subject.

    Re: 5:20: while getMemoryClass() generally returns available heap for stock versions of Android, CyanogenMod in particular allows the user to adjust this limit, and changing it does not result in getMemoryClass() returning a different value. Runtime.getRuntime().maxMemory(), however, does.

Leave a Reply

Your email address will not be published. Required fields are marked *