/Lazyloading

listview 的异步加载

Primary LanguageJava

Lazyloading

listview 的异步加载

功能简介

功能为读取 /system/app 下的apk,然后从apk中获取每个应用程序的图标和名字 每个apk消息的获取都增加了Thread.sleep() 模拟网络下载所消耗的时间。。。(学校上网收费,省点流量。。。 把apk的图标和名字显示在listview上

总共写了几种加载情况(to be continue

直接加载所有

一次性获取所有的apk的图片和名字,存放在一个list里面,然后在listview上显示出来(一个字 low。。。

使用多线程(线程池) 去异步加载,

  • 首先获取所有apk的路径
  • listview 显示一张默认的图片,和默认的文字
  • adapter的getview里面每次都会判断,如果缓存中有apk的信息的话,就直接显示,如果没有就开启线程去获取相应信息,并显示
  • 优化处理,在listview处于fling状态的时候,不进行apk信息的获取操作,在listview慢慢滑的时候才加载信息(不然会卡。。。

使用AsyncTask异步任务(线程池) 去异步加载

  • 和多线程类似,只是把在线程中完成的放在了异步任务里面

Other

如果是网络图片加载的话,可以加一个sd卡缓存图片,sd卡和内存双缓存,更顺滑~