I am tweaking parts of my code to eliminate an outofmemory error. In another post, I was advised this can be attributed to bitmaps. That appears to be the case, as I resolved the problem by removing imageviews with large bitmaps when that activity finishes. I also employ canvas objects on several activities, ONLY for the measurestringwidth function. I have alot of labels on scrollviews, and most are created with width being the same as the scrollview. When the labels are selected and the "selected" color is set, I don't want the entire width of the label to change color, as it looks odd to me to have this wide label highlighted if the text is very short. that being said, I resize each label as they are added using the measurestringwidth, as stated before. To make a long question short, how much memory are those canvas objects consuming? I can live without it but employing it really makes things look better. Is it possible to "un-initialize" a canvas object when the activity closes?