FR0*_*73N 7 crash android android-activity
我有2项活动:在活动展示的信息给用户的列表,它的子活动,用户可以创建新的信息.
很明显,从第一个活动开始,我调用" startActivityForResult()",当用户将他想要的内容放入第二个活动时,我回到第一个活动,并在" onActivityResult()"函数中收到信息保存信息.
我的问题是"不要保持活动"选项.我读到这种情况发生在低内存电话中.但是,当设备关闭活动时,我们如何处理?
在我的示例中,当第二个活动被调用时,第一个活动被杀死,因此当我们返回到该活动时发生崩溃,并且我的信息丢失了.
处理这个问题的正确方法是什么?知道我无法在第二个活动中保存我的信息,因为我正在使用文件.
使用SharedPreferences来达到您的目的。顺便说一句,当您完全关闭 Activity 时,您可以使用此技术来存储数据。
获取您的类数据,使用它将其转换为字符串GSON并存储它。
加载时,只需将其从SharedPreferences字符串移动并转换回您的对象即可。
假设你的MyData课堂上充满了无用的信息。
MyData myData = ....;
SharedPreferences mPrefs = context.getSharedPreferences("MyPrefs", 0);
Gson gson = new Gson();
String toStore = gson.toJson(myData);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("stored", toStore);
editor.commit();
....
Run Code Online (Sandbox Code Playgroud)
当您加载之前的 Activity 时:
String loadedMyDataStr = mPrefs.getString("stored", "");
MyData data = gson.fromGson(loadedMyDataStr, MyData.class );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3367 次 |
| 最近记录: |