9/23/2011
Some useful Android resources:
(1) Discussion on avoiding memory leaks from Android developers blog. Related: code for removing callbacks (see unbind() method), example code for proper use of inner classes (see W class).
(2) Android developers guide to Activity class; see especially flowchart for Activity lifecycle in Figure 1 and section labeled "Saving Activity State".
(3) Android developers guide to tasks and the back stack. Useful for understanding when Activities may be destroyed.
(4) Android developers guide to handling Activity destruction/recreation due to configuration change. Helpful discussion of onRetainNonConfigurationInstance() and warning about leaks.
(4) Example of Activity leak from improper (non-static) use of inner class. Note use of onRetainNonConfigurationInstance(), seems like a great way to create leaks...
(5) Example of Activity leak from stack overflow due to (I think) static reference to a View.
(6) Blog post on Android memory issues. Mostly debugging-oriented but the "Lessons Learned" section at the end is informative.
(7) List of 10 popular open source apps for Android with links to source repositories.