我知道当您将设备从横向更改为纵向时,onCreate
会调用该方法。这对我来说是一些问题的原因。
假设我有一个数据库,其中包含要执行的下载。我计划制作一个初始屏幕,其中 DAO 对象会将这些数据转换为对象并将它们放入Vector<DownloadTask>
. 这将发生AsyncTask
在doInBackground()
.
onPostExecute
启动画面将开始一个新的Activity
.
到目前为止一切都很好,除非我必须处理方向变化。
启动屏幕后的新 Acitivity 将启动一个Timer
负责调度下载的活动。这将在onCreate
. DownloadTask
所有实现,Runnable
所以它们是线程。
当下载结束或突然停止时,线程应该将此告诉调度程序并减少同时运行的线程数。这是为了限制同时下载的数量。
那么,如果时间是正确的(或错误的),使得方向变化和线程的完成排列在一起,那么 Timer 会发生什么?会是 null 吗?
当方向改变时,变量是否重置为其默认值?
另外,如何防止方向改变?就像一些游戏一样