问题
I am using startActivityForResult()
to allow the user to choose a file form the file system in my app. After the file is chosen, OnActivityResult()
runs and I save the file path to a variable and proceed. This works fine on Android 2.3 and lower.
On Honeycomb, however, OnCreate()
runs again AFTER OnActivityReult()
, essentially restarting my activity so I am unable to hold any variables because it runs an entirely new activity after I get the result.
Any idea why this is, and what I can do about it?
回答1:
One potential cause is in case the the device is low on memory, your activity was killed to claim system resources.
What can I do about it?
Save your variables in onSaveInstanceState
method.
In the Activity documentation they give an exact case which might be yours, read about it (In the onSaveInstanceState
method documentation).
来源:https://stackoverflow.com/questions/8825448/oncreate-runs-after-onactivityresult-on-honeycomb