首页 > Android 数据量很大的时候,如何提高UI的加载效率

Android 数据量很大的时候,如何提高UI的加载效率

Android 数据量很大的时候,如何提高UI的加载效率


只加载用户能看的到的区域。例如,像listview这类的列表控件,可以分页加载


1.假如图片比较多,一般都是加载缩略图,就是让后台配置比较小的图片,如果外接有第三方的图片储存的服务器,应该有自带图片处理的。
2.懒加载,预先加载前面10条数据。假如每页请求20条数据的话,第一页加载也是只加载前面10条/更少。先让用户看到屏幕上的数据。
3.检查内存泄漏/线程开的使用


向楼上所说的 用懒加载


数据量大,要提高效率一般要考虑两点,一是网速,一是本地的加载速度。
我认为同时解决这两点的方法,应该用分页加载的设计:
1.接口需要上传page(加载第几页)
2.本地默认加载第一页,当下拉到最后的数据或者点击下一页等情况,可以再次发送请求,字段page=2,加载第二页,然后在展示。这类库有pulltorefreshlistview等。
3.本地用各种方式优化,比如listview holder,convertview等形式优化,布局尽量减少嵌套和尽量采用相对布局,对象不用后可以手动设为null加快回收或者自己gc等等


难道不是分页加载么


分页加载可以不


  1. 数据量大,跟服务端沟通一下,是不是应该考虑分页查询,如果不分页的话,每次请求返回的response很占带宽

  2. 数据能不能考虑存储在本地的数据库,这样网络的延时问题可以忽略

  3. 数据的异步加载,比如:采用时下流行的RxJava

  4. 一次展现,不要全部加载数据,分页加载,比如:楼上说的上拉加载

  5. 如果加载中的图片很多,那么可以考虑picasso或者glide的缓存机制


先加载一定数量的数据,然后在最下方提示正在加载!
动态加载就是把放入adapter中的数据分好几次加载。在用户拖动view时再加载一定的数据

【热门文章】
【热门文章】