Android(安卓)Loaders简介
16lz
2021-12-04
简介
Android在3.0之后中引入了Loaders,使用Loader可以很方便的来在Activity中加载数据,并且Activity能够管理Loader的生命周期,使之与Activity的生命周期同步。并且当手机配置项发生改变Activity重新创建时Loader能够retain而不用重新创建。Android在3.0引入Loader来代替之前版本中 managedQuery(Uri, String, String, String, String) 方法返回的Cursor,来让应用响应更快。下面主要是这两者的区别和介绍。Android 3.0之后加入的Loader
1、任何一个Activity和Fragment中都可用 2、异步加载数据 3、监听数据数据源的改变,并且能够自动更新新添加的数据 4、当手机配置项发生改变时,能自动重新连接到Loader's 的cursor(retain),而不用重新查询数据 5、兼容包中也包含此特性,3.0之前的版本也可使用Loaders在Android3.0之前
1、 public void startManagingCursor(Cursor) 会在Activity的生命周期管理cursor's的生命周期,Activity stop时cursor会变为无效,destroy时cursor会close(),且不能处理Activity配置项发生改变的情况 2、 public Cursor managedQuery(Uri, String, String, String, String) 返回一个Cursor,在返回之前会调用 startManagingCursor(Cursor)方法,让Activity来管理此Cursor的生命周期,当有几个 明显的几个缺点 (1)query on the main UI thread (不是异步加载数据),当加载的数据量一多时,应用反应迟钝,很容易引发ANR (2)配置项发生改变时会requery,而不是retain已有的数据 (3)不能够监听到数据源的改变更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- python起点网月票榜字体反爬案例
- Android(安卓)操作SQLite数据库(初步)-在程序中删除数据库
- Android(安卓)APN设置
- Android实现数据存储技术
- Android笔试的一部分知识点
- 简单实现Android(安卓)AudioReccord录音方式
- Android的Handler总结(1)
- Android(安卓)流媒体系列(一)