In the onCreate() method of my Activity, I grab the outermost LinearLayout of the Activity's layout. I then check to see what the orientation of the phone is. If it is portrait, I set the background image of the LinearLayout to one image; if it is landscape, I set the background image of the LinearLayout to another image.
A user reported that if they open and close their hardware keyboard several times, the application will crash. The resulting log shows an OutOfMemoryError (bitmap size exceeds VM budget) error deep down in the bowels of setBackgroundResource called from onCreate().
Am I doing something wrong here? Is there a built in way to have Android handle this?
If it is useful, the log also shows about 2 dozen "unexpected resumes" just above the crash. This is the user opening and closing the hardware keyboard.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…