From c830a2469225f2c0db38bb4ffe385a14e5d5a354 Mon Sep 17 00:00:00 2001 From: tony <54lazycat@gmail.com> Date: Thu, 10 Nov 2022 16:01:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9onPause=E5=92=8ConStop?= =?UTF-8?q?=E8=A7=A3=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e72fd65..5b63924 100644 --- a/README.md +++ b/README.md @@ -626,9 +626,9 @@ onCreate 方法有一个参数,该参数可以为空( null ),也可以 •onResume :当一个活动和用户发生交互的时候,触发该方法。 -•onPause :当一个正在前台运行的活动因为其他的活动需要前台运行而转入后台运行的时候,触发该方法。这时候需要将活动的状态持久化,比如正在编辑的数据库记录等。 +•onPause :当一个正在前台运行的活动因为其他的活动需要前台运行而转入后台运行的时候,触发该方法。android3.0 之前 onPause 方法回调后,应用可能会被系统销毁,这时候需要将活动的状态持久化,比如正在编辑的数据库记录等。 但在3.0之后,系统只有在 onStop 方法回调之后才能销毁应用,因此需要在 onStop 方法中执行数据的存储。由于目前设备系统基本大于3.0,且 onPause方法需快速执行,否则会导致下个页面显示缓慢,因此推荐在 onStop 中执行数据的存储。 -•onStop :当一个活动不再需要展示给用户的时候,触发该方法。如果内存紧张,系统会直接结束这个活动,而不会触发 onStop 方法。 所以保存状态信息是应该在onPause时做,而不是onStop时做。活动如果没有在前台运行,都将被停止或者Linux管理进程为了给新的活动预留足够的存储空间而随时结束这些活动。因此对于开发者来说,在设计应用程序的时候,必须时刻牢记这一原则。在一些情况下,onPause方法或许是活动触发的最后的方法,因此开发者需要在这个时候保存需要保存的信息。 +•onStop :当页面不可见的时候会调用这个方法。这个方法中可以执行停止动画和刷新ui的方法。 •onRestart :当处于停止状态的活动需要再次展现给用户的时候,触发该方法。