微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Android P(API 28)开始,Android Studio Loaders已被弃用?

我是Android的新手,我已经完成了一些Android应用程序开发课程,现在我正在尝试应用我学到的东西.我选择了一个新闻应用程序.它将从5-10源提取新闻,并在recyclerview中显示它们.

我认识到我使用的课程材料已经过时了.我已经使用AsynctaskLoader来处理互联网连接问题,但现在在官方的Android文档中它说“从Android P(API 28)开始已经弃用了加载程序.在处理Activity和Fragment生命周期时处理加载数据的推荐选项是使用viewmodels和LiveData的组合.“

我的问题是我应该将我的代码转换为符合viewmodels和LiveData,还是Asynctask会处理我的任务(或任何其他建议)?正如我所提到的,我只想从几个源中提取新闻数据并在应用程序中显示它们.看来我不需要数据存储功能.但是,现在我添加了两个新闻来源,该应用似乎加载了一些新闻数据.这种延迟是否与使用加载器有关?使用viewmodels会加快新闻加载任务(特别是当有很多新闻源时)?

解决方法:

装载程序很好,因为它能够处理生命周期,但它没有LiveData和viewmodel那么高效.如果你关心性能,速度和最新,使用Android架构组件(LiveData,viewmodel),你也不必坚持旧的服务系统,你可以编写一个简单的AsyncTask并用viewmodel包装它LiveData.它像魔术一样,比装载机更好.有关如何在LiveData和viewmodel中包装AsyncTask的信息,请访问https://medium.com/androiddevelopers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐