保存经常更改的数据的最佳位置在哪里

Where is best place to save frequently changing data

考虑一个包含切换按钮的 activity,用户可以经常更改其状态,我必须将该状态保存在数据库中。每次点击都保存它似乎不合理!所以我决定在 activity 的 onStop() 中保存这些更改,但我想知道这是正确的地方吗? 你对此有何建议。非常感谢

这是活动生命周期的图像:

当您使用onStop() 方法将数据保存在数据库中时,当activity 不再可见时保存数据。这可能就是你想要的。

onDestroy() 不是将数据保存到数据库的正确位置,因为无法保证 onDestroy() 会被调用(参见 this Whosebug question

如果需要,您也可以使用 onPause()。例如,当打开一个半透明的activity时,会调用onPause(),但不会调用onStop(),因为activity仍然可见。