2017-09-05 81 views
0

根據這個鏈接https://developer.android.com/guide/components/activities/activity-lifecycle.html的Android文檔:的的onPause()執行如何是非常短暫的?

的onPause()執行是很短暫的,並不一定提供足夠的時間來執行保存操作。出於這個原因,你不應該使用的onPause()來保存應用程序或用戶數據,進行網絡通話,或執行數據庫事務;在方法完成之前,這樣的工作可能無法完成。相反,您應該在onStop()期間執行重負載關閉操作。

我不明白的是,它是如何設法使onPause()方法的執行非常簡短?據我所知,當的onPause()方法被調用將無法完成,直到其執行中它的代碼行。或者我錯了?

回答

1

的的onPause()方法調用將完成執行當用戶返回到應用程序。

說保存數據需要5秒鐘。這在用戶將您的應用程序保存在內存中時開始。但讓我們說,用戶現在在5秒內進入應用程序。這一呼籲停止的onPause()和開始的onResume()。你不會是確保您的數據已正確保存:)

+0

如果你看了一遍我的問題,你會看到,我的意思是,當活動被破壞掉了。 – HiddenDroid

+0

同樣的原則:)一旦應用程序被破壞,從手機內存中的,它會調用的onStop(),這將覆蓋的onPause()。 onPause()僅當您在「新使用的應用程序」屏幕中時纔會被佔用,這就是爲什麼您無法確定您的計算是否會完成的原因,因爲它取決於用戶何時將被覆蓋。 –