开发者

Interactivity Coordination: onStop and onResume

开发者 https://www.devze.com 2023-01-20 15:06 出处:网络
I have two activities. One loads all rows from a database, and the other saves to the database. When I have the second save in onStop and the first repull the data in onResume, they do it out of order

I have two activities. One loads all rows from a database, and the other saves to the database. When I have the second save in onStop and the first repull the data in onResume, they do it out of order (the first resumes and then the second saves). I managed to fix this by putting the saving data in onPause, but why was this happening? Was this the cleanest way 开发者_如何学Goto do it?


Doing the save in the first actvity's onPause should be fine.

You've discovered that the foreground lifetime of an activity happens between a call to onResume() until a corresponding call to onPause(). During this time, the activity is in front of all other activities on screen and is interacting with the user.

When you start the second activity, onPause is called on the first and then interactive control switches to the second, with onStop on the first to be called somewhat in background.

This improves responsiveness and gets the new activity in front of the user ASAP. Consequently, you should try to keep your onPause implementation as fast and efficient as possible.

See the following Android docs for more details on the lifecycle http://developer.android.com/guide/topics/fundamentals.html, but what you have found should work fine for you.


Some official quote as an add-on:

The Activity documentation states that

onPause() is where you deal with the user leaving your activity. Most importantly, any changes made by the user should at this point be committed

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号