Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何防止旋转,直到AsyncTask没有结束大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到如果我在AsyncTask运行时尝试旋转设备,应用程序崩溃了.
这个 @L_403_0@由事实Activity在旋转中被破坏并重新创建.

为了避免这种情况,我想要限制旋转事件并仅在没有活动的AsyncTasks时执行它…如果有AsyncTasks处于活动状态,应用程序应暂停旋转并在完成这些操作后执行它.

我怎么能这样做?

解决方法

它无法暂停屏幕旋转.您只能在活动清单条目中使用COnfigChanges完全停止它(但这是不好的做法).你应该做的是将你的异步任务放在保留的片段中.直到最近,你可以使用 Activity.getLastNonConfigurationInstanceActivity.onRetainNonConfigurationInstance来保持对被销毁和重新创建的Activity之间的AsyncTask的引用,但现在它已被弃用.但你仍然可以使用它.

在这里阅读更多信息:http://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance()

也:

这实际上不应该发生,你有可能在AsyncTask中继续引用你的Activity并在它被销毁后使用它.这称为参泄漏.为避免它继续引用WeakReference中的Activity,如果AsyncTask是内部类,则将其设置为静态.如果可能的话,在Activity.onDestroy中销毁你的asynctask – 取消它,在异步任务中检查它是否被取消并停止处理.如果您使用它来下载内容,请虑保留片段或Intentservice.

大佬总结

以上是大佬教程为你收集整理的android – 如何防止旋转,直到AsyncTask没有结束全部内容,希望文章能够帮你解决android – 如何防止旋转,直到AsyncTask没有结束所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。