android– 避免在屏幕方向更改时重新启动片段asynctask

android– 避免在屏幕方向更改时重新启动片段asynctask,第1张

概述我正在开发一个Android平板电脑应用程序,我需要实现屏幕方向(横向和纵向).当屏幕方向改变时,片段asyntactask再次重启.(有时应用程序崩溃)我需要停止重新启动asynctask并再次请求数据.想要将现有的json数据加载到新屏幕中.任何帮助欣赏.approch:android:configChanges=“keyboard

我正在开发一个Android平板电脑应用程序,我需要实现屏幕方向(横向和纵向).当屏幕方向改变时,片段asyntactask再次重启. (有时应用程序崩溃)我需要停止重新启动asynctask并再次请求数据.想要将现有的Json数据加载到新屏幕中.
任何帮助欣赏.

approch:androID:configChanges =“keyboardHIDden | orIEntation | screenSize”因为我正在使用片段类而无法正常工作.

解决方法:

你可能会发现一些黑客攻击(包括静默配置更改或保留实例)以某种方式让它工作,但实际上是AsyncTasks are evil,你应该尽可能地保持它的大部分时间.

如果您当前的AsyncTask的工作是在将数据显示在Fragment中之前从网络加载一些数据,我建议使用AsyncTaskLoader.javadoc中的示例应该让您了解如何实现它.

这将允许网络请求在您旋转时继续运行,只有在准备好处理它时才会通知UI(即LoaderManager.LoaderCallbacks)结果(例如,在旋转时不会),并且还会缓存结果这样您每次需要数据时都不会重新发出网络请求.

有许多第三方库试图解决这个非常常见的问题,而且Loaders也有它们的复杂性,但是如果我正确理解你的用例,它应该就是你需要的.

不要忘记,无论您选择何种解决方案,都必须考虑在加载数据之前,期间和之后发生的轮换(活动销毁/重新创建).

总结

以上是内存溢出为你收集整理的android – 避免在屏幕方向更改时重新启动片段asynctask全部内容,希望文章能够帮你解决android – 避免在屏幕方向更改时重新启动片段asynctask所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1119073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存