从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
标签:android,android-asynctask,android-viewmodel,loader 来源: https://codeday.me/bug/20190823/1697230.html